1
$.getJSON("http://pipes.yahoo.com/pipes/pipe.run?_id=UtVVPkx83hGZ2wKUKX1_0w&_render=json&_callback=?",
    function(data) {
        $.each(data.value.items, function(Id,item) {
        $("<div/>").text(item.title).appendTo("#data");
    });
});
$.getJSON("http://api.anywayanyday.com/api/NewRequest/?Route=2406MOWLON&AD=1&CN=0&CS=E&Partner=testapic&_Serialize=JSON&jsoncallback=?",
    function(data) {
        $.each(data.value.items, function(Id,item) {
        $("<div/>").text(item.id).appendTo("#data2");
    });
});

第一个 json 工作正常,但无论如何都没有,可能是什么问题?谢谢大家的帮助!

4

3 回答 3

1

使用callback代替jsoncallback(回调的参数取决于您访问的服务)。此外,看起来数据看起来像这样:

{"Id":"9G8jJaYr39Qh18","错误":null}

并且不在集合中。以下代码适用于我:

$.getJSON("http://api.anywayanyday.com/api/NewRequest/?Route=2406MOWLON&AD=1&CN=0&CS=E&Partner=testapic&_Serialize=JSON&callback=?", function(data) {
    $("#data2").text(data.Id);
});

示例:http: //jsfiddle.net/WtxS3/

于 2012-09-18T13:09:34.530 回答
0

好吧,它可以工作,但是您没有正确处理数据。把http://api.anywayanyday.com/api/NewRequest/?Route=2406MOWLON&AD=1&CN=0&CS=E&Partner=testapic&_Serialize=JSON&jsoncallback=?你的浏览器,你得到你的回应。

$.each(data.Id)需要使用,不是$.each(data.value.items)

于 2012-09-18T13:13:06.513 回答
0

您必须jsonp在 URL 中用作类型和回调。然而,并不是所有的服务都支持它。服务器的响应必须如下所示:

callback(JSON here)

干杯!

于 2012-09-18T13:11:02.270 回答