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 呼び出しが発生します。

successajax 関数に与えるコールバック内の結果を使用する必要があります。

于 2013-03-13T16:53:02.943 に答える