Php 如何从AJAX请求返回结果
今天,我创建了一个名为sendData的Javascript函数 这是为了方便起见,而不是编写一个完整的ajax语句 无论如何,我知道它是异步的,我想知道如何等待并得到返回的值,而不是什么都不返回。这是我的Php 如何从AJAX请求返回结果,php,javascript,jquery,ajax,Php,Javascript,Jquery,Ajax,今天,我创建了一个名为sendData的Javascript函数 这是为了方便起见,而不是编写一个完整的ajax语句 无论如何,我知道它是异步的,我想知道如何等待并得到返回的值,而不是什么都不返回。这是我的 function returnData(data) { alert(data + " ddd"); return data; } function sendData(data,file) { var a = "" $.ajax({ ur
function returnData(data)
{
alert(data + " ddd");
return data;
}
function sendData(data,file) {
var a = ""
$.ajax({
url: file,
data: data,
type: "POST",
success: function(newData)
{
a = newData;
}
})
returnData(a);
}
我原以为这样行得通,但事实并非如此。有人知道我怎样才能等它回来吗
最终代码
如果设置选项async:false,它将等待回调返回
$.ajax({
...
async:false,
...
})
如果设置选项async:false,它将等待回调返回
$.ajax({
...
async:false,
...
})
您还可以执行以下操作:
function sendData(data,file) {
var a = ""
$.ajax({
url: file,
data: data,
type: "POST",
success: function(newData)
{
returnData(newData);
}
})
}
这是使用回调的典型方式。success函数是成功后应该执行的代码
您可能还想查看承诺:您还可以:
function sendData(data,file) {
var a = ""
$.ajax({
url: file,
data: data,
type: "POST",
success: function(newData)
{
returnData(newData);
}
})
}
这是使用回调的典型方式。success函数是成功后应该执行的代码
您可能还想查看承诺:如果您想保持异步,请在成功过程中调用您的函数,即:
这样,直到有东西要发送给函数,才会调用函数。否则,将其设置为在继续使用参数中的async:false之前等待响应。如果要保持异步,请在success中调用函数,即: 这样,直到有东西要发送给函数,才会调用函数。否则,将其设置为在继续使用参数中的async:false之前等待响应。是否可以使用
function sendData(data,file) {
var a = ""
$.ajax({
url: file,
data: data,
type: "POST",
success: function (newData) {
a = newData;
returnData(a);
}
})
return;
}
我可以用吗
function sendData(data,file) {
var a = ""
$.ajax({
url: file,
data: data,
type: "POST",
success: function (newData) {
a = newData;
returnData(a);
}
})
return;
}
很好用!非常感谢!请记住,它将延迟sendData之后发生的所有javascript代码的执行。。。在本例中,直到AJAX SJAX调用完成为止。这有一个缺点,即在执行同步调用时锁定浏览器,这通常是一个很大的禁忌,应该像瘟疫一样避免。您只需等待调用完成,然后再尝试使用返回的数据,效果会更好。工作非常完美!非常感谢!请记住,它将延迟sendData之后发生的所有javascript代码的执行。。。在本例中,直到AJAX SJAX调用完成为止。这有一个缺点,即在执行同步调用时锁定浏览器,这通常是一个很大的禁忌,应该像瘟疫一样避免。在尝试使用返回的数据之前,您只需等待调用完成,这样做会更好。是的,上述操作不起作用。是的,上述操作不起作用。这不起作用。数据返回为未定义。啊,您一定希望sendData返回,这就是它返回未定义的原因。如果希望该函数有一个返回,则需要在设置中设置async:false,以便整个函数等待返回。否则,您可以调用returnData函数,它可以继续调用sendDataYea时停止的地方,我明白了。谢谢:没问题。^^很乐意帮忙,这不管用。数据返回为未定义。啊,您一定希望sendData返回,这就是它返回未定义的原因。如果希望该函数有一个返回,则需要在设置中设置async:false,以便整个函数等待返回。否则,您可以调用returnData函数,它可以继续调用sendDataYea时停止的地方,我明白了。谢谢:没问题。^^很乐意帮忙。我的错,我尝试过谷歌搜索,但什么也没发现。没有理由感到不好,重复的是网站的一部分。如果它被标记为一个,它将帮助未来的搜索者找到另一个非常详细的问题/答案组合。^^关于那个复制品的回答很好,尽管@FelixKling=]我的错,我尝试过谷歌搜索,但什么也没发现。没有理由感到不好,复制品是网站的一部分。如果它被标记为一个,它将帮助未来的搜索者找到另一个非常详细的问题/答案组合。^^尽管@FelixKling=]在重复问题上回答得很好