【发布时间】:2014-02-23 16:43:46
【问题描述】:
这个网址有问题http://surfujpametno.roditelji.me/category/tv-emisija/?json=get_all_posts 我收到此错误: 未捕获的类型错误:无法读取未定义的属性“url”
但我对这个网址http://surfujpametno.roditelji.me/category/vijesti/?json=get_all_posts没有问题
这是我的代码:
function json_parser_fun() {
var url = 'http://surfujpametno.roditelji.me/category/tv-emisija/?json=get_all_posts';
$.ajax({
url: url,
type: 'GET',
dataType: 'jsonp',
success: function(json){
console.debug(json);
var JSONstring = JSON.stringify(json);
var myData = JSON.parse(JSONstring);
var postovi = "";
var brojac = 1;
var ima = 0;
for(var i=0;i<myData.posts.length;i++)
{
if(brojac %2 ==0)
postovi = postovi + "<a onClick=moja_funkcija('"+ myData.posts[i].url +"') class='menu_item' href='#'><div class='menu_div"+2+"'><div class='image_div'><img style='height:40px;width:40px;' src='"+ myData.posts[i].attachments[0].url +"'/></div><div class='title_div'><p style='font-size:9px'>" + myData.posts[i].date + "</p><p style='font-size:12px'>" + myData.posts[i].title + "</p></div></div></a>";
else
postovi = postovi + "<a onClick=moja_funkcija('"+ myData.posts[i].url +"') class='menu_item' href='#'><div class='menu_div'><div class='image_div'><img style='height:40px;width:40px;' src='"+ myData.posts[i].attachments[0].url +"'/></div><div class='title_div'><p style='font-size:9px'>" + myData.posts[i].date + "</p><p style='font-size:12px'>" + myData.posts[i].title + "</p></div></div></a>";
brojac++;
}
document.getElementById("container").innerHTML = postovi;
},
error: function(e) {
console.log(e.message);
}
});
}
【问题讨论】:
-
你在哪一行得到错误?而且,到底为什么要对字符串进行字符串化然后解析?您应该能够只使用返回的 javascript 对象,因为 jQuery 已经为您解析了它。
-
myData.posts[i].url 把这个改成 myData.posts[i].attachments[0].url 还要在访问前检查附件的长度
-
它对我有用(在小提琴上),但我收到另一个错误
TypeError: myData.posts[i].attachments[0] is undefined所以检查你的 JSON 格式 -
posts[i].url 是未定义的添加和警告或单步执行以查看返回的数据
-
我删除了附件[0],现在效果很好:) 谢谢
标签: javascript jquery ajax json url