关于跨域请求的两种方案
程序员文章站
2022-06-01 08:21:55
cors方式 之前在chrome控制台看到金蝉同一个请求有的时候会发送两个(多出一个OPTION的情况)的情况,有点奇怪,经过一顿研究发现原来这个是 实现跨域 的处理方式。具体内容参见阮大神的文档 "跨域资源共享 CORS 详解" 。 jsonp方式 原理 利用` ......
cors方式
之前在chrome控制台看到金蝉同一个请求有的时候会发送两个(多出一个option的情况)的情况,有点奇怪,经过一顿研究发现原来这个是 cors
实现跨域 非简单请求
的处理方式。具体内容参见阮大神的文档跨域资源共享 cors 详解。
jsonp方式
原理
利用<script>
标签src不受同源策略限制。
缺点
-
<script>
请求的内容会直接执行,那么这就要求接口返回的东西是浏览器可执行的,目前的实现方式都是把结果包装成callback(reslut)
这种模式,但是这样对后台代码带来侵入。
- 同时由于h5提出的
<script>
标签onerror事件在各个浏览器的不支持,所以使得这种跨域方式的错误(如:500、404...)基本没法处理。
总结
综上,在能够使用cors的情况尽量不使用jsonp方式。
上一篇: Go语言基础编程学习资料