2010-10-11 86 views
0

我想从网址获取json数据。网址在FF中正常运行。我试图这样的代码getJSON和无效标签

$.getJSON("http://testsite.com/1234/?callback=?", function(data){ 
     //here i am getting invalid label error** 
    } 
); 

当我尝试没有回调=?我得到空数据

$.getJSON("http://testsite.com/1234/", function(data){ 
      //here i am data = "" 
     } 
    ); 

什么事情出错了?

回答

4

它看起来像你从获取不支持JSONP的网站,这个网址:

http://testsite.com/1234/?callback=? 

试图使用JSONP,但服务器返回一个普通的JSON响应(不包裹在一个函数中)。

有了这个网址:

http://testsite.com/1234/ 

它不试图JSONP可言的,被封锁的same-origin policy


从远程域获取数据,它需要支持JSONP,因此它可以用GET请求被抓住,所以你需要通过您自己的支持加入该域,或代理请求。

+0

是的,它只显示json数据。但在FF中,网址正常运行。我需要那个json对象在某个变量中返回。 – coure2011 2010-10-11 20:49:33

+0

@ coure06 - 响应*不是*好,这就是重点,你得到了'{... data ...}'你需要*得到的是'functionName({... data .. 。}),服务器没有返回这个,所以你得到一个无效的标签语法错误。 – 2010-10-11 20:56:16

+0

如何通过我自己“代理请求”? – coure2011 2010-10-11 20:57:39