如何从jQuery $ .get方法中读取返回的对象

时间:2011-05-14 22:05:38

标签: javascript jquery arrays object

我想知道如何通过jQuery的$ .get()方法从返回的对象中提取数据。 IE:

function dynamicData(file){
    var wantedData;
    var getObj = $.get(file);
    wantedData = getObj.complete(function(data){return data;});
    return wantedData;
}
$(window).load(function(){
     var newData = dynamicData('somefile');
     alert(newData);
});

我不想在获得新数据后立即将数据粘贴到某些DOM上。

我收到一个提醒的对象,但我如何获取其中的数据?我不知道对象结构是如何在这一点上,因为newData是一个对象,但newData [0]为null。这是偶然的某种映射对象与键:值对?或者我们不允许这样做?

3 个答案:

答案 0 :(得分:7)

您无法从Ajax调用返回。它是异步的。

对成功回调中的数据执行任何操作。

请参阅the manual for get,其中包含示例。

答案 1 :(得分:3)

$ .get需要一个回调函数,它将在加载完成后立即接收数据。它不会直接将数据返回给调用函数!

有关详细信息,请参阅jQuery.get documentation

答案 2 :(得分:3)

由于$ .get()是异步的,因此在get返回任何数据之前,您将调用警报。

更好的方法是:

function dynamicData(file,callback){
  $.get(file,function(data){
    callback(data);
  });
}

$(window).load(function(){
  dynamicData('somefile', alert);
});

会在(数据)可用时发出警报。