我想使用AJAX从另一个页面获取数据。我还想将这个AJAX调用包装到我的用户定义函数"。
中但我不能这样写:
function func(){
var tmp;
$.ajax({
url: 'url',
type: "POST",
dataType: "json",
success: function (data) {
tmp=data;
}
});
return tmp;
}
因为AJAX是异步的,并且此代码返回 - " undefined"。
当AJAX异步参数设置为 false
时var tmp=$.ajax({...});
有可能做到这一点。
我也可以创建一些全局变量并像这样写:
function setMyVariable(){
$.ajax({
...
success: function (data) {
myGlobalVariable=data;
}
});
}
问题是 - 在这种情况下使用全局变量是一种好习惯吗?
或者这是完全错误的,我需要搜索别的东西
答案 0 :(得分:0)
最佳做法是从$.ajax
返回承诺:
function func(){
var tmp;
return $.ajax({
url: 'url',
type: "POST",
dataType: "json",
});
}
然后你可以function().done(function(result) { ... } );