实用的几种跨域方式

我们知道常见的跨域技术有JSONP、CORS,Preflighted Reqeusts等等,看起来方法很多,但是如果需要服务器端开发人员配合、使用一些配置起来又超级麻烦的方式,那就不要想了。今天介绍两种非常方便的跨域方式,简单粗暴,方便好用,但是配置起来会有一些坑,本文就讲解那些坑是什么。

第一种:修改谷歌浏览器的参数。

这种我以前介绍过,第二次配的时候还是遇到了一些坑。下图是桌面谷歌浏览器的快捷方式:

其中目标里的完整地址是:

"C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" --disable-web-security --user-data-dir=c:\chromedata

其中chromedata是c盘里的文件夹地址,你可以自己随意新建一个。注意参数!

这种方式自己用到还方便,但是如果是代码要给别人看,你说你先改个浏览器的参数···

第二种:使用http-server

有个参数是这样的:

-P or --proxy Proxies all requests which can't be resolved locally to the given url.

这句话翻译过来的意思是“代理所有在本地无法处理的请求”,换句话说,如果你直接访问另一个域的资源,这种方式是不会成功的,也就是这点困扰了我好久。

在package.json文件里可以这样写:

"dev":"http-server -P http://591.com.tw --cors"

看代码!

注意:调用的代码使用是相对地址

var url = '/home/house/wareBaseInfo?ware_ids=' + param;

$.get(url,function(data){
  // dosomething
},'json');

参考案例

https://github.com/zengxiaoluan/591-sidebar

参考资料

https://www.npmjs.com/package/http-server

https://my.oschina.net/jdragon/blog/401746

作者: 曾小乱

喜欢写点有意思的东西