derek5. 2011-03-15 11:08 采纳率: 100%
浏览 485
已采纳

Jquery: 在 ajax 调用成功后返回数据[重复]

This question already has an answer here:

I have something like this, where it is a simple call to a script that gives me back a value, a string..

function testAjax() {
    $.ajax({
      url: "getvalue.php",  
      success: function(data) {
         return data; 
      }
   });
}

but if I call something like this

var output = testAjax(svar);  // output will be undefined...

so how can I return the value? the below code does not seem to work either...

function testAjax() {
    $.ajax({
      url: "getvalue.php",  
      success: function(data) {

      }
   });
   return data; 
}
</div>

转载于:https://stackoverflow.com/questions/5316697/jquery-return-data-after-ajax-call-success

  • 写回答

5条回答 默认 最新

  • 狐狸.fox 2011-03-15 11:13
    关注

    The only way to return the data from the function would be to make a synchronous call instead of an asynchronous call, but that would freeze up the browser while it's waiting for the response.

    You can pass in a callback function that handles the result:

    function testAjax(handleData) {
      $.ajax({
        url:"getvalue.php",  
        success:function(data) {
          handleData(data); 
        }
      });
    }
    

    Call it like this:

    testAjax(function(output){
      // here you use the output
    });
    // Note: the call won't wait for the result,
    // so it will continue with the code here while waiting.
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(4条)
编辑
预览

报告相同问题?

手机看
程序员都在用的中文IT技术交流社区

程序员都在用的中文IT技术交流社区

专业的中文 IT 技术社区,与千万技术人共成长

专业的中文 IT 技术社区,与千万技术人共成长

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

客服 返回
顶部