最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 正文

js 跨域访问问题解决方法

来源:动视网 责编:小OO 时间:2025-09-25 13:01:53
文档

js 跨域访问问题解决方法

js跨域访问问题解决方法什么引起了ajax不能跨域请求的问题?ajax本身实际上是通过XMLHttpRequest对象来进行数据的交互,而浏览器出于安全考虑,不允许js代码进行跨域操作,所以会警告。有什么完美的解决方案么?解决方案有不少,但是只能是根据自己的实际情况来选择。跨域的安全都是指浏览器端来说的,服务器端是不存在跨域安全的。所以针对这2种情况衍生出2类跨域解决方案,一类是服务器端做中转类似代理方式,一类是js处理浏览器端的真正跨域访问。具体情况有:1)本域和子域的相互访问:ww
推荐度:
导读js跨域访问问题解决方法什么引起了ajax不能跨域请求的问题?ajax本身实际上是通过XMLHttpRequest对象来进行数据的交互,而浏览器出于安全考虑,不允许js代码进行跨域操作,所以会警告。有什么完美的解决方案么?解决方案有不少,但是只能是根据自己的实际情况来选择。跨域的安全都是指浏览器端来说的,服务器端是不存在跨域安全的。所以针对这2种情况衍生出2类跨域解决方案,一类是服务器端做中转类似代理方式,一类是js处理浏览器端的真正跨域访问。具体情况有:1)本域和子域的相互访问:ww
js 跨域访问问题解决方法

什么引起了ajax不能跨域请求的问题?

ajax本身实际上是通过XMLHttpRequest对象来进行数据的交互,而浏览器出于安全考虑,不允许js代码进行跨域操作,所以会警告。

有什么完美的解决方案么? 

解决方案有不少,但是只能是根据自己的实际情况来选择。

跨域的安全都是指浏览器端来说的,服务器端是不存在跨域安全的。所以针对这2种情况衍生出2类跨域解决方案,一类是服务器端做中转类似代理方式,一类是js处理浏览器端的真正跨域访问。

具体情况有: 

1)本域和子域的相互访问: www.aa.com和book.aa.com 用 document.domain = "aa.com";

2)本域和其他域的相互访问: www.aa.com和www.bb.com 用 XMLHttpRequest访问代理,既服务器端代理方式

3)本域和其他域的相互访问: www.aa.com和www.bb.com 用 JS创建动态脚本,

bb.com/b.jsp页面代码如下:

$(param.jsoncallback)({"name": "Zhang Huihua", "QQ": "350863780"})

b.jsp页面通过 $(param.jsoncallback)得到浏览器端随后要回调的js function name:myTest

实际上客户端接收到的response如下:myTest({"name": "Zhang Huihua", "QQ": "350863780"})

jQuery浏览器端跨域访问

目前jQuery $.ajax()支持get方式的跨域,这其实是采用jsonp的方式来完成的。其原理就是上面第三种方式,是一致的(qq空间就是大量采用这种方式来实现跨域数据交换的) .JSONP是一种脚本注入(Script Injection)行为,所以也有一定的安全隐患.

注意,jquey是不支持post方式跨域的.

虽然采用post +动态生成iframe是可以达到post跨域的目的(有位js牛人就是这样把jquery1.2.5 打patch的),但这样做是一个比较极端的方式,不建议采用.

也可以说get方式的跨域是合法的,post方式从安全角度上,被认为是不合法的, 万不得已还是不要剑走偏锋..

浏览器端跨域访问的需求看来也引起w3c的注意了,看资料说html5 WebSocket标准支持跨域的数据交换,应该也是一个将来可选的跨域数据交换的解决方案.

文档

js 跨域访问问题解决方法

js跨域访问问题解决方法什么引起了ajax不能跨域请求的问题?ajax本身实际上是通过XMLHttpRequest对象来进行数据的交互,而浏览器出于安全考虑,不允许js代码进行跨域操作,所以会警告。有什么完美的解决方案么?解决方案有不少,但是只能是根据自己的实际情况来选择。跨域的安全都是指浏览器端来说的,服务器端是不存在跨域安全的。所以针对这2种情况衍生出2类跨域解决方案,一类是服务器端做中转类似代理方式,一类是js处理浏览器端的真正跨域访问。具体情况有:1)本域和子域的相互访问:ww
推荐度:
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top