ajax跨域处理

来源:互联网 发布:便宜好用的香水知乎 编辑:程序博客网 时间:2024/05/29 16:50

方法一

代理(后台)
1.通过在同域名的web服务器端创建一个代理;
北京服务器(域名:www.beijing.com)
上海服务器(域名:www.shanghai.com)
比如在北京的web服务器的后台(www.beijing.com/proxy-shanghaiservice.php)来调用上海服务器(www.shanghai.com/services.php)的服务,然后再把访问结果返回给前端,这样前端调用北京同域名的服务就和调用上海的服务效果相同了
比如瀑布流案类,用代理方式获取数据;

方法二

JSONP
1.通过创建动态script实现按需调用;
2.用script标签加载资源是没有跨域问题的;
3.当前阶段如果想通过纯web端(ActiveX控件、服务端代理、属于未来的HTML5之Websocket等方式不算)跨域访问数据就只有一种可能,那就是在远程服务器上设法把数据装进js格式的文件里,供客户端调用和进一步处理;
百度搜索框案类;

方法三

XHR2
html5 的XHR2 ;
由于同源限制(same-origin policy),以前XMLHttpRequest(XHR) 只能同源通讯,不能进行跨源资源共享(Cross-Origin Resource Sharing,CORS) 。由于HTML 5的概念形成,在原有XHR的基础上提出了XMLHttpRequest Level2(XHR2),在XHR2中对CORS有了很好的支持。

原创粉丝点击