我有一个foo发出Ajax请求的函数.我怎样才能从中回复foo?
我尝试从success回调中返回值,并将响应分配给函数内部的局部变量并返回该变量,但这些方法都没有实际返回响应.
function foo() {
var result;
$.ajax({
url: '...',
success: function(response) {
result = response;
// return response; // <- I tried that one as well
}
});
return result;
}
var result = foo(); // It always ends up being `undefined`.
Run Code Online (Sandbox Code Playgroud) 我有这样的东西,它是一个简单的调用脚本,给我一个值,一个字符串..
function testAjax() {
$.ajax({
url: "getvalue.php",
success: function(data) {
return data;
}
});
}
Run Code Online (Sandbox Code Playgroud)
但如果我打电话给这样的话
var output = testAjax(svar); // output will be undefined...
Run Code Online (Sandbox Code Playgroud)
那么我怎么能返回这个值呢?以下代码似乎也不起作用......
function testAjax() {
$.ajax({
url: "getvalue.php",
success: function(data) {
}
});
return data;
}
Run Code Online (Sandbox Code Playgroud) 我正在创建一个ajax实用程序,用于连接我的服务器方法.我想从jQuery.ajax()调用返回的对象中利用jQuery 1.5+延迟方法.情况如下.
serverside方法始终返回JSON对象:
{ success: true|false, data: ... }
客户端实用程序启动这样的ajax调用
var jqxhr = $.ajax({ ... });
问题领域:
jqxhr.success(function(data, textStatus, xhr) {
if(!data || !data.success) {
???? // abort processing, trigger error
}
});
return jqxhr; // return to caller so he can attach his own handlers
Run Code Online (Sandbox Code Playgroud)所以问题是如何取消所有调用者的调用附加成功回调触发他的错误处理程序在提到的地方?????
文档说延迟函数调用列表是FIFO,所以我的成功处理程序绝对是第一个.