返回

编程概念精讲(三):跨域详解

前端

编程概念精讲(三):前端跨域详解

跨域,可以理解为跨域名访问,是指运行在浏览器中某个域名(URL)下的脚本(JavaScript)读取另一个域名(URL)在当前浏览器的存储数据(如 cookie),或者在某个域名下向另一个域名下的接口发送 Ajax 请求。

对于希望从不同域名下获取资源或数据的前端开发人员来说,跨域是一个常见的挑战。它是由浏览器的同源策略引起的,该策略限制脚本只能与同一来源(域名、协议和端口)进行交互。

跨域请求的类型

跨域请求可以分为两种主要类型:

  • 简单请求: HTTP GET、HEAD、POST 请求,且 Content-Type 为 application/x-www-form-urlencoded、multipart/form-data 或 /
  • 复杂请求: 除简单请求之外的所有请求类型,例如 PUT、DELETE、自定义 Content-Type

跨域请求的解决方案

处理跨域请求有几种不同的方法:

  • JSONP (JSON with Padding) :将请求包装为 JSONP,它使用