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