Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/multithreading/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
jquery$.post函数调用顺序_Jquery - Fatal编程技术网

jquery$.post函数调用顺序

jquery$.post函数调用顺序,jquery,Jquery,在下面的jquery函数中,有人能向我解释为什么在第一个函数之前执行第二个函数吗?我假设整个$.post请求应该在浏览器转到下一行代码之前完成,但这似乎没有发生 function getGUID () { $.post(getGUIDScript, function(data, textStatus) { alert("first"); GUID = data; }, 'text'); alert("second"); } 感谢下面

在下面的jquery函数中,有人能向我解释为什么在第一个函数之前执行第二个函数吗?我假设整个$.post请求应该在浏览器转到下一行代码之前完成,但这似乎没有发生

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上作为回调执行。