【问题标题】:Multiple AJAX requests using when使用 when 的多个 AJAX 请求
【发布时间】:2016-07-26 22:59:34
【问题描述】:

一个 AJAX 请求有效,但当我添加第二个时它不起作用。

工作代码(按预期返回 'wins: 3')

function GetMissingData(data, myID)
{
	$.when(AJAXf1(myID, '4')).done(
		function(a1)
		{
			console.log("wins: "+a1[0].DATA);
		}
	);
  }

function AJAXf1(myID, val)
{
	return $.ajax({   
		url: "./PHP/ajaxRequests.php",   
		dataType: "json",
		data : 
			{
				'moreData' : myID,
				'res' : val
			}
	})
}

这不是,变量现在是未定义的('wins: undefined'):

function GetMissingData(data, myID)
{
	
	$.when(AJAXf1(myID, '4'), AJAXf1(myID, '4')).done(
		function(a1, a2)
		{
			console.log("wins: "+a1[0].DATA);
		}
	);
}

function AJAXf1(myID, val)
{
	return $.ajax({   
		url: "./PHP/ajaxRequests.php",   
		dataType: "json",
		data : 
			{
				'moreData' : myID,
				'res' : val
			}
	})
}

(是的,我正在调用相同的函数,我正在测试。将来我会更改函数的一个参数)

谢谢

【问题讨论】:

  • 您在一处拼写为AJAXf1,在另一处拼写为AJAXF1
  • 简化函数/变量名称时刚刚发生的情况,将更新。

标签: jquery ajax .when


【解决方案1】:

在您的第一个示例中,您直接将 ajax 响应作为单个 JS 对象。 在第二个中,你得到了一个 JS 对象数组(类似于 [Object, "success", Object])。而且我认为你不能在不同的结构上使用相同的代码。

【讨论】:

  • 欢迎来到本站,感谢您的回答。好的答案是具体的,并且基于事实而不是意见。尝试准确描述为什么在这种情况下相同的代码不能在不同的结构上运行。
  • 正确,现在可以使用了。要访问 var,必须这样做: a1[0][0].DATA 非常感谢。我将您的答案标记为正确!
猜你喜欢
  • 1970-01-01
  • 2017-12-08
  • 1970-01-01
  • 2011-06-08
  • 2016-06-04
  • 1970-01-01
  • 2014-02-19
  • 2013-01-11
  • 1970-01-01
相关资源
最近更新 更多