微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

jQuery将ajax结果设置为外部变量回调

如何解决jQuery将ajax结果设置为外部变量回调

| 我需要为ajax查询的结果设置一个变量。我意识到我不能只返回成功函数的结果,因为这是一个异步调用。但想实现这一点将有一个回调函数,而不是设置为同步调用。 我想实现以下目标:
myMethod: function() {
   var result = function(callback) {
      this.getResults(params)
   }
},getResults: function(params) {
   $.ajax({
      type: \'GET\',url: \'some/url\',data: params,success: function(data) {
         callback(data).call();
      }
   });
}
结果=数据 我知道我的语法不正确,我尝试了很多变体,但还没有找到可行的方法。任何帮助将不胜感激。谢谢!     

解决方法

        你很亲密。将回调函数传递给
getResults
myMethod: function() {
    this.getResults(params,callback);
},getResults: function(params,callback) {
   $.ajax({
      type: \'GET\',url: \'some/url\',data: params,success: function(data) {
         callback(data);
      }
   });
}
请注意,由于您提到的异步性,我删除了
var result =
只是因为它不起作用。如果您需要对ѭ4进行进一步处理,则必须在回调中进行。     ,        您是否尝试将async设置为false?
myMethod: function() {
   var result = function(callback) {
      this.getResults(params)
   }
},getResults: function(params) {
   $.ajax({
      type: \'GET\',async:false,//<-- Here
      url: \'some/url\',success: function(data) {
         callback(data).call();
      }
   });
}
    

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。