+ -
当前位置:首页 → 问答吧 → jquery跨域获得数据

jquery跨域获得数据

时间:2009-07-29

来源:互联网

我想实现跨域获取数据,网上找了写jsonp的例子,但放到我机器上总有问题,哪位能帮我看一下吗?
$.ajax({
        type:"get",
  dataType: "jsonp",
  jsonp: "callback",
  url: "http://www.ip.cn/getip.php?action=getip&callback=?", 
  success: function (result) {
  alert(result);
  }
  });
如果不对,能给我些解决方法吗,谢谢

作者: ericaquinas   发布时间: 2009-07-29

jsonp实用性不大  要跨域的域名你也要有控制权才行  也就是说服务端和客户端数据要一致才行

也就是说  你要在ip.cn的getip.php里把json数据外面加上传来的callback参数客户端才能接收。

<?
    $pre = $_GET[callback];
    echo $pre.'('.$json.')';
?>

作者: stalkerru   发布时间: 2009-07-29

对对,有道理,我试了官网上api.flickr.com那个就行的
那如果我要实现获取不由我控制的外网数据我应该怎么办啊

还有,我用get的话在我本地是可以的,但移植到服务器后,就会报错
是因为服务器由域名?还是什么原因啊

作者: ericaquinas   发布时间: 2009-07-29

因为本地测试时的安全策略很低,允许跨域

放在服务器上就被浏览器禁止了

如果非要使用不能自己控制的数据,可以用YQL

http://www.keakon.cn/bbs/thread-1276-1-1.html

作者: keakon   发布时间: 2009-07-29

谢谢了,我最后是通过页面穿参数到服务器,然后webrequest搞定的

作者: ericaquinas   发布时间: 2009-07-29

相关阅读 更多