javascript - 从 ajax 调用 javascript 添加到数组 - 未定义

标签 javascript jquery ajax arrays

我声明一个数组,然后进行 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 回调中的结果。

关于javascript - 从 ajax 调用 javascript 添加到数组 - 未定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15391550/

相关文章:

javascript - 获取两个不同时区的日期时间

javascript - 依次更改多个 div 背景颜色,然后恢复正常(重复)?

javascript - Angular 多选图表

jquery - 禁用模态表单的自动关闭

jquery - 如何防止 Drupal 关注触发 ajax 提交的元素?

ajax - 什么是变量[[FunctionLocation]],[[Scopes]] : in the Browser Console

javascript - 访问 FB.login 函数内部的变量

javascript - 如何将字符串渲染为自定义 React 组件?

javascript - vuejs-datepicker 从当前日期开始,添加样式

javascript - 使用 Mvc3 Razor for Mvc2 的 <%= %> 的正确语法是什么