Javascript 从父ajax调用引用的数据问题

Javascript 从父ajax调用引用的数据问题,javascript,jquery,ajax,Javascript,Jquery,Ajax,我在另一个ajax函数中有一个ajax函数 $.ajax({ url: '../...', type: 'POST', dataType: 'JSON', success: function(data){ if (data.length) {

我在另一个ajax函数中有一个ajax函数

        $.ajax({
              url: '../...',
              type: 'POST',
              dataType: 'JSON',                         
              success: function(data){
                      if (data.length) {

                     // complex and unreadable code
                    // cannot be posted here.

                      $.ajax({
                      url: '../library/index.php?action=librarydetailssearch',
                      type: 'POST',
                      dataType: 'JSON',
                      data: {studentid:studentid},
                                            asyn: false,
                                            success: function(data){
                                            if (data.length) {
                                         }
                                     }
                         });

                       }
                    });

调试代码时,我发现子ajax调用中的success(data)中的数据包含来自父ajax调用的数据。我希望孩子应该引用自己的数据。

这是因为你的父母ajax和孩子ajax使用相同的响应变量
data
。 尝试将您的孩子ajax的成功响应重命名为
data1
或其他内容

$.ajax({
  url: '/some-url',
  ...
  async: false,
  ...
  success: function (data) {
      if (data.length) {
          $.ajax({
             url: '/other-url',
             ...
             success: function (data1) {
                console.log(data); // the parent response
                console.log(data1); // child response
             }
          });
      }
  }
});

只需使子成功响应变量名与父成功响应不同即可

$.ajax({
url:“../…”,
键入:“POST”,
数据类型:“JSON”,
成功:功能(数据){
if(数据长度){
//复杂且不可读的代码
//无法在此发布。
$.ajax({
url:“../library/index.php?action=librarydetailssearch”,
键入:“POST”,
数据类型:“JSON”,
数据:{studentid:studentid},
答:错,
成功:函数(childData){
if(childData.length){
}
}
});
}

})
下面是如何嵌套
Ajax
调用。父调用和子调用的响应
数据
不一样

var postData={};
callAjax();
函数callAjax(){
$.ajax({
键入:“获取”,
网址:'https://reqres.in/api/users/2',
数据:postData,
成功:功能(数据){
控制台日志(数据);
数据['call']='First One';
console.log(“=========================”);
$.ajax({
键入:“获取”,
网址:'https://reqres.in/api/unknown',
数据:postData,
成功:功能(数据){
log(“这里是”+JSON.stringify(data)+data['call']);
},
错误:函数(xhr、ajaxOptions、thrownError){
日志(“发生错误:+thrownError”)
} 
});
},
错误:函数(xhr、ajaxOptions、thrownError){
日志(“发生错误:+thrownError”)
} 
});
}

我将其重命名为“data1”,现在它抛出的错误消息data1没有定义…它将是什么错误…请help@NidaAmin我添加了示例代码,因此您将得到我的意思,它抛出“data1未定义”错误…请帮我告诉我是什么错误。对于父调用,也要执行
async:false
。为什么要使用两个ajax调用?