【问题标题】:Push JSON data to Jquery Array将 JSON 数据推送到 Jquery 数组
【发布时间】:2014-11-08 11:01:12
【问题描述】:

我尝试将一些数据 val.relatedval.keywords 推送到数组 keywords。但在那之后阵列仍然是空的。有任何想法吗 ?

//get data.
var getProjectsApi = function() {

    //keywords.
    var keywords = [];

    //get data via json.
    $.getJSON('projects/api', function(data) {

        //loop over keywords.
        $.each(data.keywords, function(i, val) {

            //push content to keywords-array.
            keywords.push('<li data-related="' + val.related + '">' + val.keyword + '</li>');   
        });

        console.log( keywords );
    });

    //return the array.
    return keywords;
}

【问题讨论】:

  • 检查服务器端是否真的是返回值
  • 是的,它确实返回了这些值。
  • 我建议您在使用之前始终检查返回的数据:if (typeof data != 'undefined')data.keywords 也一样。
  • @GytisŠk 好点,谢谢。

标签: jquery arrays json type-conversion


【解决方案1】:

您正在进行异步 ajax 调用,这就是未填充关键字的原因。您需要等到数组充满值。因此,您已将 ajax 调用设为同步。为此,您可以在调用 getJson 方法之前使用 ajaxSetup 方法。

$.ajaxSetup({async:false});

【讨论】:

  • 它不返回空值。我收到数据。只有当我推动它时,数组才不会被填满。
  • 好的。它在我的第一次尝试中不起作用,但现在它适用于您的解决方案。谢谢。
  • 我并不是说数据即将变为空,我已经编辑了我的帖子,现在它已经很清楚了。我只是说,在进行 ajax 调用后,它会转到下一行。
猜你喜欢
  • 2015-03-31
  • 1970-01-01
  • 2017-04-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-09-13
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多