我在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。 我不知道我做错了什么,但我真的被卡住了。 任何帮助将不胜感激!!
编辑:控制台错误是:无法读取未定义的属性“长度”。
已解决:我已经更改了加号的昏迷,并改变了迭代文件的方式,正如下面其中一个答案所述。
答案 0 :(得分: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>");
});
答案 1 :(得分:0)
JSON文件中的posts
属性为array
。
因此,您需要首先遍历该数组,以访问author
属性!
$.each(data.posts, function(i, post) {
var author = post.author;
});