Javascript 如何使用jquery循环遍历所有json项?
这是我正在使用的json文件Javascript 如何使用jquery循环遍历所有json项?,javascript,jquery,json,jsonp,Javascript,Jquery,Json,Jsonp,这是我正在使用的json文件 ?( { "title":"1", "description":"description", "site":"site", "image_s":"/Becki.jpg", "image_l":"aurel" }, { "title":"2", "description":"2", "site":"1", "image_s":"8.jpg", "image_l":"aurel" }) 问
?(
{
"title":"1",
"description":"description",
"site":"site",
"image_s":"/Becki.jpg",
"image_l":"aurel"
},
{
"title":"2",
"description":"2",
"site":"1",
"image_s":"8.jpg",
"image_l":"aurel"
})
问号将替换为动态数字,以克服跨域限制。我想这就是我遇到麻烦的原因
我正在尝试获取两个图像,但我只能读取第一个项目的数据(如果是正确的单词):
$.getJSON(surl,函数(数据){
$。每个(数据,函数(tete,i){
$。每个(数据,函数(tete,i){
$(“”)。addClass(“box”)。追加(
$("
我知道$有问题(“但这不是问题。问题是上面的循环只获取第一项的内容(标题:1到结尾,而不是标题:2))
我想如果问号的名字不是动态的,我可以从那里开始循环并得到它的孩子们,但我不知道在这种情况下怎么做
如果您需要知道,我不能为这个特定的项目使用服务器端编程
您可以提供任何帮助吗?您必须将项目(在JavaScript中称为对象)放入数组:
[
{
"title":"1",
"description":"description",
"site":"site",
"image_s":"/Becki.jpg",
"image_l":"aurel"
},
{
"title":"2",
"description":"2",
"site":"1",
"image_s":"8.jpg",
"image_l":"aurel"
}
]
并更改您的JS:
$.each(data, function(index, item){
$("<div>").addClass("box")
.append($("<img/>").attr("src", [item.image_s]))
.appendTo("#showdata");
});
$。每个(数据、函数(索引、项){
$(“”).addClass(“框”)
.append($)
运行示例如所示。如果您通过另一个域传递数据,则可能使用的是JSONP。JSONP要求服务器返回包装在函数中的值;在您的情况下,函数是一个随机的数字字符串
如果您的帖子是准确的,您必须更新服务器以正确返回JSON对象:
目前,它正在返回由函数包装的多个对象:235235({one object},{two object})
当它应该返回一个由函数包装的JSON对象时:235235([{first object in array},{second object in array}])
谢谢,但它对我不起作用。这是我确定的代码,我没有添加从我不知道的URL获取JSON的部分,所以我只是跳过了$.getJSON(surl,function(data)行
;)在我的fiddle中,我将objects数组分配给data
变量,而不是从该函数中获取它。那么,我正在使用的代码是否可能,或者我是否需要更改为喜欢您的代码,尽管我真的希望json是独立的,但这当然是可能的。如果给定surl
返回有效的json,您的fiddle应该可以工作。我可以了我会尽量使用你的代码。我只是将json内容从代码中分离出来,这样我可以更轻松地管理它们。谢谢
$.each(data, function(index, item){
$("<div>").addClass("box")
.append($("<img/>").attr("src", [item.image_s]))
.appendTo("#showdata");
});