1

我在 wordpress 中创建了一个网站,我正在使用 wordpress json API 来检索我正在开发的网络应用程序的数据。json API 工作正常: http ://danielvivancos.com/edu/wordpress/?json= 1 我得到了我的 Json 文件。但现在我正在尝试使用 getjson jquery 方法在我的 html 页面中打印它。首先,我只是试图在 div 中显示 json 文件中的一些信息,以检查它是否正常工作,但我不知道为什么它不工作。在这里你可以检查我的脚本:

$(document).ready(function (){
$("#btn382").click(function(){       

    $.ajaxSetup({ cache: false });

    $.getJSON("http://danielvivancos.com/edu/wordpress/?json=1&count=1", function(data){
        var html = [];


        $.each(data.posts.author, function(index, author){           
            html.push("id : ", author.id, ", ",
                      "slug : ", author.slug, ", ",
                      "name : ", author.name, "<br>");
        });


        $("#div381").html(html.join('')).css("background-color", "orange");
    }).error(function(jqXHR, textStatus, errorThrown){ /* assign handler */
        /* alert(jqXHR.responseText) */
        alert("error occurred!");
    });
});
});

当然,我创建了#div381。我不知道我做错了什么,但我真的被卡住了。任何帮助,将不胜感激!!

编辑:控制台错误是:无法读取未定义的属性“长度”。

已解决:我已将逗号更改为加号并更改了遍历文件的方式,如下面的答案之一所述。

4

2 回答 2

1

似乎 的类型posts是一个数组,第一个元素是一个包含author.

尝试重写

$.each(data.posts[0].author, ...

更新

html.push("status : ", data.status, ", ",
   "count : ", data.count, ", ",
   "pages : ", data.pages, "<br>"); 
$.each(data.posts, function(index, post){
   html.push("id : ", post.author.id, ", ",
     "slug : ", post.author.slug, ", ",
     "name : ", post.author.name, "<br>");
});
于 2013-08-24T21:22:56.450 回答
0

JSON 文件中的posts属性是array.

因此,您需要先遍历该数组才能访问该author属性!

$.each(data.posts, function(i, post) {
    var author = post.author;
});
于 2013-08-24T21:20:45.763 回答