我必须进行大量 AJAX 调用,并希望设置一个简单的方法来处理这个问题。我创建了以下内容
function testingAjax(url) {
$.ajax({
type: "GET",
contentType: "application/json; charset=utf-8",
url: url,
data: "{}",
dataType: "json",
success: function(data) {
//alert(data);
return data;
},
error: function(err) {
alert('error')
}
});
};
当我打电话testingAjax
时从另一种方法,我得到 Undefined
错误,但是当我从 testingAjax
内部发出警报时这是正确的。
function testingCall(){
var data = testingAjax(url);
alert(data);
}
基本上,我想从 AJAX 调用返回数据,并在其他地方解析它。我做错了什么?
最佳答案
您需要添加一个回调参数(这是一个函数)并将其传递给 success 来代替您已有的参数。
function testingAjax(url, cb) {
$.ajax({
type: "GET",
contentType: "application/json; charset=utf-8",
url: url,
data: "{}",
dataType: "json",
success: cb,
error: function(err) {
alert('error')
}
});
};
使用它:
testingAjax('myurl', function(data) {
console.log(data);
});
这将获取成功回调的值,并立即将其作为参数传递给您的自定义回调,这将允许您访问数据
。
关于javascript - 使 AJAX 调用在多种方法中使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35164031/