jQuery ajax call with async false is not working

前端 未结 3 1528
被撕碎了的回忆
被撕碎了的回忆 2020-12-16 07:27

Here I have pasted my code, I want to return the response of $.ajax as response of function a(). But before the result comes up of ajax call, it is returning the empty f. pl

相关标签:
3条回答
  • 2020-12-16 07:43

    I guess you are using jQuery 1.8+

    http://api.jquery.com/jQuery.ajax/

    Please read the fine print.

    As of jQuery 1.8, the use of async: false with jqXHR ($.Deferred) is deprecated;

    you must use the complete/success/error callbacks.

    try

    http://jsfiddle.net/UgrLE/

    0 讨论(0)
  • 2020-12-16 07:58

    Unless you work for twitter, I would assume it is failing because "Cross-domain requests and dataType: "jsonp" requests do not support synchronous operation."

    Deprecated != removed and even if it did I take the deprecation is in the context of the returned jqXHR which are not being used here.

    http://api.jquery.com/jQuery.ajax/

    It looks like @Murali provides a work-around, but the above is important to point out for those having issue with same-domain requests.

    0 讨论(0)
  • 2020-12-16 08:00

    Please assign the ajax to jqXHR object and reading the responseText will help you.

     var jqXHR=$.ajax({
          url: 'http://api.twitter.com/1/statuses/user_timeline.json?screen_name=immaulikvora&count=1&page=1&include_entities=1&callback=?',
          dataType: 'json',
          async: false
        });    
    
    jqXHR.responseText // This will give you the result
    
    0 讨论(0)
提交回复
热议问题