Javascript 如何使用jquery循环遍历所有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" }) 问

这是我正在使用的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"
})
问号将替换为动态数字,以克服跨域限制。我想这就是我遇到麻烦的原因

我正在尝试获取两个图像,但我只能读取第一个项目的数据(如果是正确的单词):

$.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");
});