【问题标题】:getJson returns nothinggetJson 什么都不返回
【发布时间】:2013-10-25 21:08:40
【问题描述】:

getJson 有一个奇怪的问题。

例如,当我尝试像这样使用 Nominatim 获取 json 时:

var adresse = $('#ad').val();
$.getJSON( "http://nominatim.openstreetmap.org/search?q="+adresse+"&format=json&polygon=1&addressdetails=1", function( data ) {
    console.log(data);
}

它有效。 但是,如果我尝试从这样的文件中获取:

$.getJSON( "http://localhost/folder/address.json", function(data){

     console.log(data);
 });

我的 Json 文件加载良好,但数据中没有任何内容。

您能帮我找出问题所在吗?

【问题讨论】:

  • 查看json结构,这个请求的响应码是什么?

标签: jquery json getjson


【解决方案1】:

您在服务器代码上从$.getJSON 错过了最后一个),在本地代码

中看起来不错
var adresse = 1;
$.getJSON( "http://nominatim.openstreetmap.org/search?q="+adresse+"&format=json&polygon=1&addressdetails=1", function( data ) {
    console.log(data);
 });
//^---- this is which you missed

Demo

【讨论】:

  • 除非您发送的是 JSONP 而不是 JSON,否则您不需要添加回调。
  • 第一个代码工作正常,但我的问题是第二个代码。
  • 我认为这是因为我的文件已损坏。它缺少一些引号。对不起!
  • @geopl 看我的回答我已经改了。
【解决方案2】:

检查错误:

$.getJSON('http://localhost/...', function(data){ ... })
    .done(function(){ console.log('success', arguments); })
    .fail(function(){ console.log('failure', arguments); });

您的文件可能正确提供,它是否包含有效的 json 数据?

【讨论】:

    猜你喜欢
    • 2012-05-09
    • 2012-06-18
    • 2018-09-10
    • 2017-02-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多