javascript跨域请求的几个方法

    文章来源:万象互联 更新时间:2011-11-7 20:41:18
分享:
跨域问题是由浏览器安全性限制而引起的,可以采取变通的方法解决。

方法一:

    采用动态创建<script type="text/javascript" src="http://另外一个域名/test.aspx?user=163ns&pwd=password"></script>

 而 这个aspx可以返回一段JS数据,来回调调用页面中的一个JS方法  比如说  showmessage("返回成功"); 这样可以达到隐性提交的目的。(在跨域下可以实现JAX同样的效果)。但这种方法由于URL长度的限制,不能提交太大的数据,和不能进行POST请求,而 且你还要又B域的输出控制权。

方法二:

    直接把表单提交,提交的页面处理完毕后他直接太跳转下,同时把相关信息在提交给相同的域名下的一个文件,由本域名下的文件做输出这样其实就是同域了。不过这种方法编程会很复杂,流程控制很麻烦。

方法三:

    采用ASPX文件做桥的方式,比如说 你想在A上请求B域名上的文件b,则你可以通过在A上请求A上的文件a,a在服务器端请求B下的b,a文件相当于做了个中装,这样在有些网站上是不可取的,因为效率不高,相应很慢,还耗费服务器带宽等资源。

方 法四:

    采用FLASH做桥,这种情况只能用在你可以控制A域和B域的情况,因为你需要在B域的根目录上放置一个crossdomain.xml,否则 flash不能进行跨域请求。as中是可以做HTTP的get和POST请求的,甚至可以实现socket连接(很多的在线TM和无刷聊天室都是借助 FLASH来实现的),如果处理的好可以用他来代替AJAX不能处理跨域的问题

方法五:

    如果你的域名是另外一个域名的子域名则可以通过设置document.domain来指定当前域名所属的域,这样两个域就互为信任,以前试验过有点不可靠,不建议怎么做。

摘至:http://blog.csdn.net/muyannian

版权说明:本站原创文章,由万象互联SEO优化发表.
本文地址:https://www.hulian.top/zixun/post/4525.html
在线咨询
  • 在线时间
  • 8:00-21:00