【问题标题】:How to scale the number of variables in JQuery?如何缩放 JQuery 中的变量数量?
【发布时间】:2015-09-07 06:59:54
【问题描述】:

现在我的页面是动态生成内容

例如当我按下添加按钮时,它会在 body 中添加一个表单,每个表单都包含一个 ajax 请求。

代码是这样的:

var ajax;

ajax = $.ajax.....

问题是,它只将变量限制为一个,我想知道有什么方法可以缩放变量的数量

例如:当添加两个表单时,就会有两个ajax变量,如何跟踪它们?

感谢您的帮助。

更新:案例说明

这样做的原因是因为我想取消ajax提交,所以情况是:

var ajax_req;

$("form").submit(function(){
     ajax_req = $.ajax...
});

$("cancel").click(function(){
    ajax_req.cancel();
});

但是对于动态生成表单,我需要跟踪所有 ajax_req 变量并知道要取消哪个表单。

【问题讨论】:

  • 你需要一个数据结构,非常基础的 JS。见Objectsarrays
  • 或者,很少需要持久存储$.ajax() 返回的承诺。如果您向我们展示实际上下文的其余部分(您实际尝试做的事情),我们可以帮助您更彻底地解决您的问题。
  • 当然,更新的问题
  • 数组是你的朋友。

标签: javascript jquery html ajax variables


【解决方案1】:

我的解决方案是将表单提交转换为 ajax 请求。

很简单,只需 3 步:

  1. 阻止原始表单提交。
  2. 获取表单变量。我想使用.serialize()
  3. 制作一个 ajax。

高级,你可以在表单标签中设置一些参数,比如method="post",或者其他一些"data-"属性。并且您可以在请求之前阅读这些参数。

希望这会有所帮助:D

【讨论】:

  • 谢谢,使用 ajax obj 数组解决了问题
  • 这不是我认为的最佳方式。你可以试试 .data()
猜你喜欢
  • 2014-01-11
  • 1970-01-01
  • 2020-11-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-11-09
  • 1970-01-01
相关资源
最近更新 更多