jQuery ajax调用同步vs异步

jQuery ajax call synchronous vs asynchronous?

本文关键字:vs 异步 同步 调用 ajax jQuery      更新时间:2023-09-26

我有一个ajax调用的代码。

var value = 0;
$.ajax({
url: 'http://localhost:3000',
dataType: "json",
type: 'POST',
data: formdata,
success: function(data, textStatus, jqXHR) {
    value = data.data;
    console.log("Inside: " + value);
},
error: function(jqXHR, textStatus, errorThrown) {
    console.log("Error received");
}
});
console.log("Outside: " + value);

执行,得到

Outside: 0
Inside: 100

是否有办法使它按顺序运行?

据我所知,您的问题与Express或EJS无关。您希望在浏览器中使用同步ajax,这当然是可能的。如果使用jQuery,则需要将async属性设置为false,如本文档所示:

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

但是,不建议这样做,如前面所述。