我有一个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) 我想使用jQuery ajax从服务器检索数据.
我想将成功回调函数定义放在.ajax()块之外,如下所示.那么我需要声明变量dataFromServer如下所示,以便我能够使用成功回调中返回的数据吗?
我见过大多数人在.ajax()块内定义成功回调.如果我想在外面定义成功回调,那么以下代码是否正确?
var dataFromServer; //declare the variable first
function getData() {
$.ajax({
url : 'example.com',
type: 'GET',
success : handleData(dataFromServer)
})
}
function handleData(data) {
alert(data);
//do some stuff
}
Run Code Online (Sandbox Code Playgroud) 我正在使用 jQuery。我有一个从名为“get_cats”的远程服务器获取数据的函数。我称它为用返回的值填充数组。当 AJAX 完成时,我想返回这些值。但它不起作用,返回的值未定义。这是非常基本的,但我看不出它在哪里失败。有没有人有线索?
$(function () {
var url = "http://someurl.com/service/";
var cats = [];
cats = get_cats(url);
function get_cats(url) {
var categories = [];
$.getJSON(url + "cats", function (data) {
$.each(data, function (i) {
categories.push(data[i].name);
});
return categories;
});
}
$(document).ajaxStop(function () {
console.log(cats); // fails and returns undefined :'(
});
});
Run Code Online (Sandbox Code Playgroud)