一个带有 async:true 的 ajax 函数

One ajax function with async:true

本文关键字:true ajax 函数 async 一个      更新时间:2023-09-26

我如何在代码中只使用 1 个 ajax 函数,该函数仅在 ajax 完成后返回数据。
例:

var Jurl = json.php, Jdata='one:AAA';    
jsonRet = json(Jurl, Jdata);    
if(jsonRet) {    
  $('body').prepend(data);    
} else {  
  Jurl = anotherJson2.php;
  Jdata='one:BBB';   
  jsonRet2 = json(Jurl,Jdata);  
  if(jsonRet2) {  
...  
  }  
}  
json(Jurl, Jdata) {  
  $.getJSON(Jurl, {Jdata} , function(data) {  
    if(data ==='finish') {
      return false;  
    } else {  
      return data;
    }
}
但是,我

不能使用此代码,我必须使用 jsonRet2 创建另一个(另一个)函数。所以代码不会优化...我想要最少的代码。

您有一个语法错误,仅此而已。

if(data['end']===true) { ... }

编辑

您还需要使用 promise 从异步调用中返回值,请参见以下示例:

$.getJSON(Jurl, {Jdata} , function(data) {
    var dfd = $.Deferred();
    if(data['end']==='true') {
        dfd.reject(false);  
    } else {  
        dfd.resolve(data);
    }
    return dfd.promise();
});