2014-09-25 86 views
0

我想从代码波纹管的JSON获取时间数据,但我得到一个错误,而不是数据,会发生什么?获取JSON数据的错误

$.ajax({ 
    type: "POST", 
    url: "http://www.previsaodotempo.org/api.php?city=Rio+De+Janeiro", 
    success: function(data) { 
     alert() 
     data.location; 
     $("div").html(data); 
    }, 
    error: function(data) { 
     $("div").html('can not get the json'); 
    } 
}); 

这里是一个小提琴:http://jsfiddle.net/jodgjqwf/

+4

打开控制台! '否'Access-Control-Allow-Origin'标题出现在请求的资源上.' – tymeJV 2014-09-25 19:49:01

+0

由于跨域请求而产生的 – 2014-09-25 19:50:44

+1

“我收到一个错误” - 它通常会帮助您如果(a)在询问时与我们分享错误(b)谷歌它首先 – Quentin 2014-09-25 19:50:55

回答

-1

http://www.previsaodotempo.org/api.php?city=Rio+De+Janeiro期待您张贴了吗?我只是打了网址,它返回给我的JSON。

将“POST”更改为“GET”。

$.ajax({ 
    type: "GET", 
    url: "http://www.previsaodotempo.org/api.php?city=Rio+De+Janeiro", 
    success: function(data) { 
     $("div").html(data); 
    }, 
    error: function(data) { 
     $("div").html('can not get the json'); 
    } 
}); 
+1

即使使用GET或POST,除非用户在同一个域中,或者服务器使用CORS,由于跨域限制,请求将失败 – 2014-09-25 19:54:24

+0

@PatrickEvans这是真的。我相信他们可能是从自己的领域提出请求。我可能是错的,但我确定他们没有使用jsfiddle进行生产;) – teewuane 2014-09-25 19:58:04

+1

http://jsfiddle.net/jodgjqwf/1/ - 该更改无法解决它。 – Quentin 2014-09-25 19:58:03