网站跨域访问解决方法

      我们网站设计有时候需要根据不同的业务需要设定分布式访问,并绑定不同的域名。这样做有诸多好处,可以分离出不同的业务,同时可以进行分布式部署。但这样就面临跨域访问问题,各大浏览器处于安全处于安全考虑禁止进行跨域访问。不过在html中有几个标签是不受跨域访问限制,script、iframe、link。解决跨域的问题目前有两种方法。

 

  •  使用jsonp
              通过传递callback函数名,返回callback函数调用语句,实现跨域访问。
  • 使用cors
       /* 是否允许跨域访问 */
	response.setHeader("Access-Control-Allow-Origin", "http://www.google.com");
	
  • swf实现跨域访问
             需要在被访问站点的根路径上配置访问策略。
<cross-domain-policy> 
     <allow-access-from domain="*.google.com"/> 
</cross-domain-policy>

  • 跨源资源共享替代方案 

           JSONP方案,参考:http://en.wikipedia.org/wiki/JSONP#JSONP

           使用Web代理,参考:http://developer.yahoo.com/javascript/howto-proxy.html

           使用IFRAME,参考:http://msdn.microsoft.com/en-us/library/bb735305.aspxhttp://blog.joycode.com/saucer/archive/2006/10/03/84572.aspx

  • 参考资料
          http://www.nczonline.net/blog/2010/05/25/cross-domain-ajax-with-cross-origin-resource-sharing/
          http://en.wikipedia.org/wiki/JSONP#JSONP
          http://www.w3.org/TR/cors/

          http://fangyuncn.blog.163.com/blog/static/174231499201071755813337/


 

/*设定同一个域名访问*/
(function(){
	try{
		document.domain = 'ps007.com';
	}catch(e){
		alert(e);
	}
})();

try{
    /*支持IE跨域访问*/
    jQuery.support.cors = true;
}catch(e){
    alert(e);
}


 


 

posted @ 2014-07-09 16:17  wala-wo  阅读(388)  评论(0编辑  收藏  举报