日期:2014-05-16  浏览次数:20357 次

jquery getjson获取不到数据
我想获取的是这个地址https://edu.hxpad.com/sandbox/API3.0/Info_LoginOnline/中的数据,但是我用jquery的getjson始终获取不到,而将这个网址直接在浏览器中打开去能看到数据。这是为什么???
我的代码如下
$.getJSON("https://edu.hxpad.com/sandbox/API3.0/Info_LoginOnline/",function(data){
  alert("success");
});

实在是搞不懂了,请教一下大家。

还有我看很多地址都是类似于这样的
http://api.flickr.com/services/feeds/photos_public.gne?tags=car&tagmode=any&format=json&jsoncallback=?
后面加了很多问号之类的,有何区别,谢谢。

------解决方案--------------------
楼主 由于浏览器的安全限制,js无法跨域进行操作
那么 传说中的 jsonp 就诞生了, 需要 服务端 和 客户端 达成一致(提供一个接口),比如
HTML code


<!DOCTYPE HTML>
<html>
    <head>
        <meta charset="gb2312" />
        <title></title>
    </head>
    <body>
        
        <script>
            function test(x){
                alert(x.name)
            }
        </script>
        <script src="jsonp.js"></script>
    </body>
</html>

------解决方案--------------------
跨域了。浏览器禁止JS进行跨域操作。如果你操作的URL返回的是一个JSON字符串,那就只能通过服务器端采集来实现了。自己google一下吧:AJAX 跨域访问
------解决方案--------------------
楼主 必须要满足 jsonp 的格式啊。
而这个链接打印的是一个 {...}

要不就只有 后台来抓取页面了。