67 跨域请求

xiaoxiao2021-02-28  43

XMLHttpRequest Level 2 使用指南

http://www.ruanyifeng.com/blog/2012/09/xmlhttprequest_level_2.html

跨域资源共享CORS:

http://www.ruanyifeng.com/blog/2016/04/cors.html

CORS分为两类:简单请求和非简单请求

1、简单请求:同属满足下列两种情况:

请求过程:

   浏览器发现跨域请求AJAX是简单请求,自动在头信息中添加Origin字段,服务器根据这个值确定是否可以访问资源。

成功:服务器返回的响应多出几个头

Access-Control-Allow-Origin: http://api.bob.com Access-Control-Allow-Credentials: true Access-Control-Expose-Headers: FooBar

Content-Type: text/html; charset=utf-8失败:返回一个正常的HTTP回应。浏览器发现,这个回应的头信息没有包含Access-Control-Allow-Origin字段(详见下文),就知道出错了,从而抛出一个错误,被XMLHttpRequest的onerror回调函数捕获。注意,这种错误无法通过状态码识别,因为HTTP回应的状态码有可能是200。如果要发送cookie,需要服务器同意(Access-Control-Allow-Credential:true),AJAX请求中打开withcredential属性(

var xhr = new XMLHttpRequest(); xhr.withCredentials = true;

1) 请求方法是以下三种方法之一:

HEADGETPOST

(2)HTTP的头信息不超出以下几种字段:

AcceptAccept-LanguageContent-LanguageLast-Event-IDContent-Type:只限于三个值application/x-www-form-urlencoded、multipart/form-data、text/plai

安装了chrome 的 Access-control-allowe-origin插件,可以访问

如果不装插件怎么办?是个问题

转载请注明原文地址: https://www.6miu.com/read-2450252.html

最新回复(0)