Async false表示速记AJAX获取请求

时间:2014-08-25 15:06:00

标签: jquery ajax

我使用以下ajax get函数来检查用户的状态。是否可以使用这种速记方法设置async: false?如果不能如何更改,以便我可以添加async false?

$.get("/submit/checkuser/", function (userStatus) {
    if (userStatus == 'Disabled') { // check if user if disabled                    

    } else if (userStatus == 'Deleted') { // check if user if deleted

    } else {

    };
}).fail(function () {                
    connectionError();
});

5 个答案:

答案 0 :(得分:21)

进行同步$.get调用的唯一方法是将ajaxSetup设置为同步:

jQuery.ajaxSetup({async:false});

这被认为是不好的形式,因为它会影响JQuery在页面上发出的每个ajax调用。我建议只是咬紧牙关并使用更精细的jQuery.ajax语法。

有关更全面的讨论,请参阅How can I get jQuery to perform a synchronous, rather than asynchronous, Ajax request?

答案 1 :(得分:7)

这可能适合你

$.ajax({
    url : "/submit/checkuser/",
    type : "get",
    async: false,
    success : function(userStatus) {
       if (userStatus == 'Disabled') { // check if user if disabled                    
       } else if (userStatus == 'Deleted') { // check if user if deleted
       } else {
       };
    },
    error: function() {
       connectionError();
    }
 });

答案 2 :(得分:3)

从上面来看,我像这样使用它

jQuery.ajaxSetup({async:false});

  // my code 

jQuery.ajaxSetup({async:true});

答案 3 :(得分:1)

试试这个。

$.get('/your/url/dot/com', { async: false }, function(data){
    globalBaseURL = data;
});

答案 4 :(得分:0)

使用jQuery.ajaxSetup({async:false});是因为$.get()是具有语法jQuery.get( url [, data ] [, success ] [, dataType ] )的Jquery速记方法,并且要更改设置jQuery.get( [settings ] )