Jquery 速记AJAX get请求的Async false

Jquery 速记AJAX get请求的Async false,jquery,ajax,Jquery,Ajax,我使用下面的ajaxget函数来检查用户的状态。是否可以使用此速记方法设置async:false?如果没有,该如何更改,以便添加async false $.get("/submit/checkuser/", function (userStatus) { if (userStatus == 'Disabled') { // check if user if disabled } else if (userStatus == 'Delete

我使用下面的ajaxget函数来检查用户的状态。是否可以使用此速记方法设置
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();
});

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

jQuery.ajaxSetup({async:false});
但这被认为是一种糟糕的形式,因为它会影响JQuery在页面上进行的每个ajax调用。我建议咬紧牙关,使用更复杂的
jQuery.ajax
语法


请参阅以获得更全面的讨论。

这可能适合您

$.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();
    }
 });

从上面看,我是这样用的

jQuery.ajaxSetup({async:false});

  // my code 

jQuery.ajaxSetup({async:true});
试试这个

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

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

您已经掌握了本页所需的所有信息:根据强调速记的问题,这不应该是正确的答案。请参见@Stryner answer。我们可以在
$之后将设置重置回
异步:true
。获取
?@DarielPratama您可以。由于Javascript是单线程的,因此应该不会出现任何问题。我对这个答案进行了投票,尽管人们应该知道至少在3.1版中,您会收到一条警告:“主线程上的同步XMLHttpRequest已被弃用,因为它会对最终用户的体验造成有害影响。有关更多帮助,请查看。”每次进行同步ajax调用时,都会在控制台中显示。这是不好的,因为它也会为以后的每个请求将async设置为false,这可能是不需要的。似乎没有一种形式的接受选项对象作为第二个参数。。。它似乎只有两个签名,即
jQuery.get(url[,data][,success][,dataType])
jQuery.get([settings])
,因此在您的示例中,
{async:false}
将被视为发送到请求的数据。。。