// AjaxHandler
function AjaxHandler(url, dataContent){
$.ajax({
url: url,
type: 'POST',
dataType: 'json',
data: dataContent,
async: true,
cache: false,
success: function(obj){
console.log(obj);
return obj;
}
});
}
$("#button").click(function(){
AjaxHandler( "http://xxxxxx/yyyyyy.api", "some data" );
alert(obj);
});
如果我可以从被调用函数“AjaxHandler”获取对象数据。 我如何使用这个对象数据?我尝试提醒obj但显示未定义。
我可以在函数AjaxHandler的控制台中打印obj数据。所以数据就在那里。 我只是不知道在调用函数后如何使用它。
答案 0 :(得分:0)
由于AJAX是异步的,因此您无法“返回”变量。但是,您可以将其发送到下一个处理数据的函数。
function AjaxHandler(url, dataContent){
$.ajax({
url: url,
type: 'POST',
dataType: 'json',
data: dataContent,
async: true,
cache: false,
success: function(obj){
console.log(obj);
processAjax( obj );
}
});
}
function processAjax( obj ) {
alert(obj);
}
$("#button").click(function(){
AjaxHandler( "http://xxxxxx/yyyyyy.api", "some data" );
});
答案 1 :(得分:0)
尝试在ajax中取得成功:
// AjaxHandler
function AjaxHandler(url, dataContent){
$.ajax({
url: url,
type: 'POST',
dataType: 'json',
data: dataContent,
async: true,
cache: false,
success: function(obj){
console.log(obj);
return obj;
},
success(function() {
(function() {
alert( "success" );
})
})
});
}
$("#button").click(function(){
AjaxHandler( "http://xxxxxx/yyyyyy.api", "some data" );
});
答案 2 :(得分:0)
当$.ajax
方法返回一个promise时,您可以执行以下操作:
function AjaxHandler(url, dataContent){
return $.ajax({
url: url,
type: 'POST',
dataType: 'json',
data: dataContent,
async: true,
cache: false,
success: function(obj){
return obj;
}
});
}
$("#button").click(function(){
AjaxHandler( "http://xxxxxx/yyyyyy.api", "some data" )
.then(function (obj) {
console.log(obj);
});
});