启发我关于JQuery Every和Undefined

时间:2017-09-16 19:09:20

标签: jquery arrays json

我差不多完成了我的小部件 - 我第一次真正投入到JQuery中,我无法弄清楚我的最后一个问题......我已将我的JSON数组添加到此帖的底部...我试图弄清楚为什么我的JQuery.each中的最后两个脚本行是列表,但是没有给出字段,而是给出了Undefined。

<script>
    var jsonURL = "//myurl.com/api.php/content_data?filter[]=date_activation,lte,9/16/2017&filter [] = date_expiration, is, & filter[] = publish, eq, public & columns = id_cr, title, teaser & order = title & page = 1 ";
    jQuery(document).ready(function() {
      jQuery.ajax({
        url: jsonURL,
        success: searchCallback
      });
    });

    function searchCallback(data) {
      jQuery(".here").append(data.content_data.results);
        var content_data = data.content_data;
      jQuery.each(content_data, function(index, content_dat) {
        console.log(index, content_dat); 

          jQuery(".here").append('<h1>' + content_dat.title + '</h1>');
        jQuery(".here").append('<p>' + content_dat.id_cr + '</p>');

      });
    };
</script>

JSON Array:
content_data    
 columns    
  0 "id_cr"
  1 "teaser"
  2 "title"
 records    
  0 
   0    69425
   1    "<p>Hurricane Harvey has been one of the strongest weather storms to hit the U.S. this year and has caused severe flooding in Texas and parts of Louisiana.</p>"
   2    "Hurricane Harvey Aftermath"
 results    1

1 个答案:

答案 0 :(得分:1)

content_dat是一个数组,不是具有命名字段的对象;它没有titleid_cr字段。只需通过下标([])访问数组的每个元素,就像访问任何其他数组一样:

jQuery(".here").append('<h1>' + content_dat[2] + '</h1>');

jQuery(".here").append('<p>' + content_dat[0] + '</p>');