多个 AJAX 请求使用 when

Multiple AJAX requests using when

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

工作代码(returns '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
   }
 })
}

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

谢谢

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