【问题标题】:JSONP Receive back non-parseable JSONJSONP 接收回不可解析的 JSON
【发布时间】:2011-08-09 01:37:37
【问题描述】:

接收回不可解析的 JSON 响应。我收到了很好的 JSON,但它是这种精确的格式,我如何解析并说出每行包含所有值的警报。非常感谢!

请求开始

$.ajax({
    url: apiURL+'getLocations/category/'+ category +'/countyId/'+ countyId +'/searchString/'+ searchString +'?callback=?',
    contentType: 'application/json',
    crossDomain: true,
    dataType: 'jsonp',
    callback: callTest1(),
    complete: function(data){
        if(data.code != '400')
        {
            $.each(data, function(key, value) {
                $.each(value, function(key, val){
                    alert(data.id);
                })
            });
        }
    },
    success: callTest2()
});

请求结束

输出开始

{"Location":[{"id":0,"postcodeId":85,"categoryId":0,"location":
    "Enfield Island Village"},{"id":0,"postcodeId":44,"categoryId":0,
    "location":"Isle of Dogs"},{"id":0,"postcodeId":269,"categoryId":0,
    "location":"Isleworth"},{"id":0,"postcodeId":135,"categoryId":0,
    "location":"Islington"}]
}

输出端

【问题讨论】:

  • 这在什么方面是不可解析的?
  • 好吧,我找不到读出输出 JSON 中数据的方法,有什么建议吗?我是新手,因此为无知道歉...感谢您的耐心等待
  • 非常感谢提供输出示例
  • 如果将dataType 设置为json 而不是jsonp 会发生什么?文档说jsonp 会将回调参数直接添加到 URL。既然你已经有一个了,想必你们正在互相踩踏。
  • 我知道您的建议是 CDHOWIE,但收到了相同的响应 JSON。我正在运行一个良好的控制台跟踪,并且我还收到“无效标签”并打印出 JSON IE 的一部分:“无效标签”{“Location”:[{“id”:0,“postcodeId”:199,。 ..":0,"location":"Abbey Wood"},{"id":0,

标签: javascript json jquery jsonp


【解决方案1】:

试试这个。

var data = {"Location":[{"id":0,"postcodeId":85,"categoryId":0,"location":
    "Enfield Island Village"},{"id":0,"postcodeId":44,"categoryId":0,
    "location":"Isle of Dogs"},{"id":0,"postcodeId":269,"categoryId":0,
    "location":"Isleworth"},{"id":0,"postcodeId":135,"categoryId":0,
    "location":"Islington"}]
};

$.each(data.Location, function(index, val){
    alert(val.id + " , " + val.postcodeId + " , " +val.categoryId + " , " +val.location );
});

我认为您缺少 .Location 部分。

如果您对硬编码值不满意,试试这个。

$.each(data.Location, function(index, datum) {
    $.each(datum, function(key, value) {
        alert(key + " : " + value.toString());
    });
});

工作演示:http://jsfiddle.net/naveen/kLEA6/

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-07-30
    • 1970-01-01
    • 1970-01-01
    • 2012-05-04
    • 1970-01-01
    相关资源
    最近更新 更多