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

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

通过以上的一种类似于代理的功能,便可解决jquery跨域访问的问题。可能还有其他更简单的方法,也许我的方法比较麻烦,但也许这也是一种比较容易理解的方法。[/size]
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值