js 跨域访问问题解决方法
什么引起了ajax不能跨域请求的问题? ajax本身实际上是通过XMLHttpRequest对象来进行数据的交互,而浏览器出于安全考虑,不允许js代码进行跨域操作,所以会警告。 有什么完美的解决方案么? 解决方案有不少,但是只能是根据自己的实际情况来选择。 跨域的安全限制都是指浏览器端来说的,服务器端是不存在跨域安全限制的。所以针对这2种情况衍生出2类跨域解决方案,一类是服务器端做中转类似代理方式,一类是js处理浏览器端的真正跨域访问。 具体情况有 : 本域和子域的相互访问: www.aa.com和book.aa.com 用document.domain = "aa.com"; 本域和其他域的相互访问: www.aa.com和www.bb.com 用 XMLHttpRequest访问代理,既服务器端代理方式 本域和其他域的相互访问: www.aa.com和www.bb.com 用 JS创建动态脚本,<script>标签的src属性实现跨域访问 解决方法: 如果想做到数据的交互,那么www.aa.com和book.aa.com必须由你来开发才可以。可以将book.aa.com用iframe添加到 www.aa.com的某个页面下,在www.aa.com和iframe里面都加上document.domain = "aa.com",这样就可以统一域了,可以实现跨域访问