`
wangxuefang
  • 浏览: 121237 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

用jquery发ajax请求跨域问题的解决

阅读更多
    项目中用jquery的$.getJson发送ajax请求来获取某网站中图书作者的信息。注意,这里确切已经知道该访问地址返回的是json数据。在Eclipse中用它自带的浏览器运行正常,可以正确获得某网站返回的Json数据。当用IE或FireFox打开网页时,发现获取的Json数据为null,而且有的IE浏览器版本运行正常,有的不正常,且提示没有权限。上网查知道才发现,是Ajax跨域访问的问题。
    于是查找资料,希望能够解决这一问题,网上回答很多,最多的是通过回调函数来解决,本人有点笨,最后通过网上的办法始终没有解决,不过好像用回调函数来解决跨域访问问题,还需要服务端的支持。不知我理解是不是正确。
    最后解决方法:用了一种类似代理的方法。
    1、在程序后台通过URL访问获得网站返回Json数据的数据流,将数据流封装到一个字符串中。
    2、将$.getJson中访问地址改为自己网站的,而该action做1中所写的操作。将1中获取到的字符串原样返回即可。

    通过以上的一种类似于代理的功能,便可解决jquery跨域访问的问题。可能还有其他更简单的方法,也许我的方法比较麻烦,但也许这也是一种比较容易理解的方法。

   
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics