我使用以下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();
});
答案 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 ] )