jquery$.post函数调用顺序
在下面的jquery函数中,有人能向我解释为什么在第一个函数之前执行第二个函数吗?我假设整个$.post请求应该在浏览器转到下一行代码之前完成,但这似乎没有发生jquery$.post函数调用顺序,jquery,Jquery,在下面的jquery函数中,有人能向我解释为什么在第一个函数之前执行第二个函数吗?我假设整个$.post请求应该在浏览器转到下一行代码之前完成,但这似乎没有发生 function getGUID () { $.post(getGUIDScript, function(data, textStatus) { alert("first"); GUID = data; }, 'text'); alert("second"); } 感谢下面
function getGUID () {
$.post(getGUIDScript, function(data, textStatus) {
alert("first");
GUID = data;
},
'text');
alert("second");
}
感谢下面的回复。为了子孙后代,上面的代码可以按如下所示编写,以等待文章完成后再继续
function getGUID () {
$.ajax({
type: "POST",
url: getGUIDScript,
async: false,
success: function(data) {
alert("first");
GUID = data;
}
});
alert("second");
}
这将触发第一个警报,然后触发第二个警报。post是异步完成的,因此在第一个警报完成之前执行以下语句。如果需要同步,则需要使用$.ajax并将async参数设置为false。更好的是,在post执行的ajax调用完成后,使用post的回调机制等待并执行后续操作。post是异步完成的,因此在第一个语句完成之前执行以下语句。如果需要同步,则需要使用$.ajax并将async参数设置为false。更好的是,在post执行的ajax调用完成后,使用post的回调机制等待并执行后续操作。$。post初始化以回调作为参数的异步post请求。当服务器返回对POST请求的响应时,将执行回调。$。POST初始化以回调作为参数的异步POST请求。当服务器返回对POST请求的响应时,将执行回调。如果要进行同步ajax调用,可以将asyc设置为false。请参见如果要进行同步ajax调用,可以将asyc设置为false。请参见有没有办法让它等待完成?我将在$.post完成之前从函数返回。我能想到的唯一方法是将执行脚本的其余部分作为对post的回调。请参阅我的更新。最好的方法是将一个函数传递给您的函数,以在post上作为回调执行。有没有办法让它等待它完成?我将在$.post完成之前从函数返回。我能想到的唯一方法是将执行脚本的其余部分作为对post的回调。请参阅我的更新。最好的方法是将函数传递给您的函数,以在post上作为回调执行。