在上面的ajax调用中,对象jData返回null ..但如果显示成功则返回对象:
var jData = null;
function x() {
$.ajax({
url : 'http://...",
success : function(data) {
jData = data;
alert(jData); // displays the object
}
});
return jData; //returns null ??
};
答案 0 :(得分:1)
$.ajax()
是异步的。您必须直接在成功回调
var jData = null;
function x() {
$.ajax({
url : "http://...",
success : function(data) {
jData = data;
alert(jData); // displays the object
//do stuff here
}
});
}
答案 1 :(得分:1)
你的数据超出了你的块的范围,因为它没有发生,在成功操作中返回你的jdata
答案 2 :(得分:0)
Ajax是异步的,您需要从成功回调中返回jdata。否则,当您返回jdata时,尚未返回ajax调用,并且尚未为jdata分配值。