欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

关于跨域请求的两种方案

程序员文章站 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方式。