ajax成功操作后的对象引用错误 - jquery

时间:2012-02-23 13:50:10

标签: javascript jquery object

在上面的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 ??
};

3 个答案:

答案 0 :(得分:1)

$.ajax()是异步的。您必须直接在成功回调

中使用jData
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分配值。