我有这样的事情,它是对脚本的简单调用,该脚本给了我一个值,一个字符串。
function testAjax() {
$.ajax({
url: "getvalue.php",
success: function(data) {
return data;
}
});
}
但是如果我这样称呼
var output = testAjax(svar); // output will be undefined...
那么我该如何返回值?下面的代码似乎也不起作用…
function testAjax() {
$.ajax({
url: "getvalue.php",
success: function(data) {
}
});
return data;
}
从该函数返回数据的唯一方法是进行同步调用而不是异步调用,但这将使浏览器在等待响应时冻结。
您可以传入一个处理结果的回调函数:
function testAjax(handleData) {
$.ajax({
url:"getvalue.php",
success:function(data) {
handleData(data);
}
});
}
这样称呼它:
testAjax(function(output){
// here you use the output
});
// Note: the call won't wait for the result,
// so it will continue with the code here while waiting.
问题内容: function ChatServerQuery(data_json) { 我执行对服务器的请求的功能。问题是我无法返回从服务器收到的文本。我不知道如何从匿名函数(事件成功)转移到ChatServerQuery(可以在其中轻松将其取回)。 问题答案: 您最好更改您的方法以反映AJAX请求的异步性质。 使用回调函数 然后,您将使用它: 使用承诺对象 返回实现Promise iterfac
问题内容: 我有一个jQuery对话框打开,然后进行AJAX调用。我想这样做,以便如果关闭对话框或按下“取消”按钮,则取消AJAX调用,并且不调用其回调函数。我可以想到一些使用变量的方式,例如: 但是,从某种程度上来说,这对我来说很肮脏,并且实际上并没有阻止AJAX调用完成。是否有内置的方式来取消正在进行的AJAX呼叫? 问题答案: 好的,因此基于使用$ .get函数返回的XmlHttpReque
问题内容: 我想使用jQuery ajax从服务器检索数据。 我想将成功回调函数定义放在如下所示的代码块之外。因此,是否需要像下面这样声明变量,以便能够使用成功回调中返回的数据? 我已经看到大多数人在块内定义成功回调。如果我想在外部定义成功回调,那么以下代码正确吗? 问题答案: 只需使用: 该属性仅需要引用一个函数,并将数据作为参数传递给该函数。 由于声明的方式,您可以像这样访问您的函数。Java
问题内容: 我有这个功能,使一个ajax调用。我在最后一段代码注释中描述了问题。 根据代码注释中描述的问题,哪种更改最适合这种情况? 问题答案: 您需要为以下同步请求设置async:false: 详情请看这里
问题内容: 我有以下JS 和以下控制器代码: addarticle()javascript ajax可以运行并将vars发送到服务器并进入db,但是,javascript然后将运行错误函数而不是成功函数。http响应代码是200,我以为它将运行Success函数。有什么建议? 问题答案: 您需要从控制器返回json,因为这是jQuery期望的。您可以返回即 或者,您可以将html设置为数据类型(也
问题内容: 我试图在我自己的函数中使用jQuery ajax调用的返回值,但它始终返回未定义的值。 ajax调用绝对有效,因为当我取消注释警报时,我得到了正确的返回,并且可以在firebug中看到它。我在做蠢事吗? 问题答案: AJAX调用是异步的-这意味着AJAX请求是按常规程序执行顺序发出的,并且在您的程序中这意味着不会将数据返回警报。 您不能以这种方式使用调用的返回值,而是将利用AJAX返回