我们知道常见的跨域技术有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