GetJSON用于跨域请求

时间:2012-12-19 15:57:54

标签: javascript json jquery

我正在尝试从opendata服务中收集一些数据。我坚持我的jquery请求, 在使用闪烁API的Jquery documentation示例中,它可以正常工作。但是当我更改URL时,我没有得到回调动作(这里是一个警告弹出窗口)。我可以在Chrome控制台中看到请求已播放并返回正确的结果,但我的回调中未执行任何操作。

这是我的测试:

     <html>
     <body>
     <h1>Hello, world!</h1>
     <script src="http://code.jquery.com/jquery-latest.js"></script>
     <span id="info"></span>
     <script>  
       $.getJSON("https://open.tan.fr/ewp/tempsattente.json/SECH?jsoncallback=?",
       {},
     function(data) {
              alert("foo");
     });
     </script>
     </body>
     </html>

有人可以告诉我为什么它不起作用?有什么建议吗? 感谢。

1 个答案:

答案 0 :(得分:0)

如果您在.error方法上使用getJSON,则可以找出失败的原因(希望如此)。既然你说你似乎得到了正确的响应并且它“有效”,那么它是一个解析错误(基本上只有在收到200之后剩下的所有内容)才有意义。如果您使用.error,则会收到以下消息:

Error: jQuery18206930075496322584_1355933072137 was not called

并且在另一个地方,发现它是因为

parsererror

^ http://jsfiddle.net/dCTES/

如果您采用实际响应并通过JSON.parse运行,则会显示:

SyntaxError: JSON.parse: unexpected character

它指向了价值:

"Fran\u00e7ois Mitterrand"

^ http://jsfiddle.net/dCTES/1/