1

我声明了一个数组,然后进行了一个 ajax 调用,它返回多行值。我正在尝试将这些行的 id 添加到我之前声明的那个数组中,但它一直返回未定义。

  var recipeIds = Array();
    $.ajax({
        url: url,
        type: 'POST',
        contentType: "application/json",
        dataType: 'jsonp',
        crossDomain: true,
        jsonp: 'jsoncallback',
        cache:true,
        success: function(data, status){
            $.each(data, function(i,item){
                             recipeIds.push(item.id);
         });
        },
        error: function(){
            console.log("Ajax not working - recipies in cat");
        }
    });
    alert("array0 = " + recipeIds[0]);

有什么建议么?

4

1 回答 1

3

当您发出警报时,ajax 调用尚未返回。它是异步的,这意味着 ajax 调用将在警报之后发生。

您必须使用success您提供给 ajax 函数的回调内部的结果。

于 2013-03-13T16:53:02.943 回答