从ajax调用内部添加到数组未定义

adding to array from inside ajax call undefined

本文关键字:数组 未定义 添加 内部 ajax 调用      更新时间:2023-09-26

我声明一个数组,然后进行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]);

有什么建议吗?

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

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