1、介绍html
其实跨域是浏览器自己限制阻止的,为何就是由于超级不安全前端
前端和后台调试接口时,最主要的麻烦就是跨域致使的,怎么解决,提供如下几种方法git
2、方法github
一、后端在接口文件写一段(这是最简单方法,可是)ajax
1 // 指定容许其余域名访问 2 header('Access-Control-Allow-Origin:*');
优势:对于前端来讲十分之简单,彻底不用理会,直接请求json
缺点:不安全,因此在每次发布上线时都要删除这一段,有些麻烦后端
结论:适合在开发阶段,不适用于已经要常常更新版本迭代跨域
二、使用jsonp浏览器
原理:动态添加一个<script>标签,而script标签的src属性是没有跨域的限制的。这样说来,这种跨域方式其实与ajax XmlHttpRequest协议无关了安全
优势:兼容性更好,在更加古老的浏览器中都 能够运行,不须要XMLHttpRequest或ActiveX的支持;而且在请求完毕后能够经过调用callback的方式回传结果
缺点:只支持GET请求而不支持POST等其它类型的HTTP请求
三、用fiddler+willow替换重定向到本地文件
怎么使用看以看一下这篇文章url:http://blog.csdn.net/mevicky/article/details/50285381
download:http://qzonetouch.github.io/commonWidget/willow
优势:十分的方即可以时时的看到本地代码在网上的效果,能脱离开发环境却不影响线上调试
缺点:会抓取一大堆的包,全部请求都会被抓,会卡???
四、浏览器跨域设置
谷歌浏览器设置成支持跨域的模式(仍是对应上了原来那句话跨域不安全,是浏览器阻止不一样域之间的请求)
设置url:http://www.cnblogs.com/laden666666/p/5544572.html
优势:一个浏览器能解决,别说多方便。
缺点:暂时木有
感恩节~~~大吉大利,今晚吃鸡
/*************20190820-add****************************************************************************/
5.使用代理
原理:在发送请求的时候作拦截,增长一个中间件,作代理转发,实现中间件和发送请求的页面同源非跨域
优势:看起来高大上一点有level一点
缺点:一旦页面有多个请求不一样地址就要作多个拦截
/*************20190904-add****************************************************************************/
今天看一篇文章才发现还有一种解决跨域方法,不过有很大的局限性
使用document.domain赋值解决额
只能赋成当前的域名或者基础域名