一个是options请求,一个是post请求。在我一次项目的使用中,在进行上传的options请求的时候,系统报错。
HTTP 405 错误 – 方法不被允许 (Method not allowed)
然后查询了一下为什么会发送options请求。
OPTIONS请求首先发出,向服务器请求是否能够允许访问, 如若服务器端允许跨域, 则POST请求发送过去, 如果不被允许直接报500了.
也就是说,options等于是一次敲门吧,就是问问后台我能不能进去访问一下你的数据,如果不行,我就报500,你后面跟着的post也就甭进来了。如果允许,那你后面的小老弟们就被允许了。这种请求叫做Preflighted Request(带预检的跨域请求)。但是这次我返回的是405也就是说,我连第一次敲门都没敲上。之后问了后台的小伙伴,发现是后台没有定义options的请求。
于是我又换了ajax的上传方式,但是这一次并没有发生options请求,这就纳闷了,同样是跨域为什么ajax没有发送options请求呢?
原来ajax的请求是分为简单请求和非简单请求的。
简单请求:请求方法为 HEAD、GET、POST 中的 1 种请求, header 中没有自定义的请求头,Content-Type 为以下几种:application/x-www-form-urlencoded、multipart/form-data、text/plain等。
非简单请求:header 中包含自定义请求头的 AJAX 请求,PUT、DELETE 形式的 AJAX 请求,Content-Type 字段的类型是 application/json 等。
当 AJAX 发出的是非简单请求时,浏览器才会发送预检(OPTIONS)请求,而且这个预检请求在服务端是可以设置缓存时间的。也就是第一次访问时才会发送预检请求,在缓存的时间内再次请求是不会发送预检请求的。
所以说,ajax是因为简单请求没有报错,而webuploader是因为后台没有设置options所以报错了。
解决办法:1,使用ajax的简单请求。2.后台添加options的方法。
Access to XML
Http
Request at '
http
://
127.0
.
0.1
:8088/user/list' from origin '
http
://localhost:8080' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource.
xhr
.
js
?b50d:178 GET
http
://
127.0
.
0.1
:8088/u
文章目录
HTTP
请求
报文响应报文常见的状态码readyState 属性原生
AJAX
AJAX
简介XML 简介
AJAX
的特点
AJAX
的使用解决 IE 缓存问题
ajax
返回的状态jQuery-
AJAX
get
请求
post
请求
ajax
请求
Axios-
AJAX
get
请求
post
请求
ajax
请求
Fetch-
AJAX
跨域
同源策略如何解决
跨域
JS
ONPCORS所使用的node服务代码Web Socket
HTTP
(hypertext transport protocol)协议『超文本传输协议』,
目前所有的浏览器都实现了同源策略,该策略主要影响了不同源浏览器缓存间,不同源网页间,或不同源网页与服务器间三个行为:
Cookie、LocalStorage 和 IndexDB
无法
读取
DOM
无法
获得
AJAX
请求
不能发送
A网页
无法
获得B网页缓存在浏览器的Cookie、LocalStorage 和 IndexDB信息,
A网页
无法
获得B网页的DOM对象
A网页
无法
发送
AJAX
请求
到B服务器
I have an error when I send data from client side (angular.
js
) to server side (node.
js
).I created a form that the user insert data then my controller get the data and sent it to the server to save the...
注意 content-type 类型必须是 Content-Type: multipart/form-data
如果有全局设置的axios 的
请求
拦截的话,注意 防止被更改哦
请求
报错
400
先检查下参数有没有写错 大小写什么的。
注意
请求
的文件流 须放到最后一个位置上
let params = new FormData()
params.ap
HTTP
协议定义一些方法,以指明为获取客户端(如您的浏览器或我们的 CheckUpDown 机器人)所指定的具体网址资源而需要在 Web 服务器上执行的动作。则这些方法如下:
OPTIONS( 选项 ) :查找适用于一个特定网址资源的通讯选择。 在不需执行具体的涉及数据传输的动作情况下, 允许客户端来确定与资源相关的选项以及 / 或者要求, 或是一个服务器的性能。
GET(...
Access to XML
Http
Request at '
http
://localhost:8080//
Users
/login.do' from origin '
http
://192.168.56.24:8081' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource.
应用程序编程接口(API:Application Programming Interface):以
HTTP
协议形式提供,定义了输入、输出、功能描述的服务
即是规矩的制定
1、接口的功能测试(先要保证接口是正确的)
2、测试接口的数据(传递一些特殊的数据,保证接口没有问题)----比如淘宝上不能搜索到一些国家禁止售卖的东西
3、自动化测试脚本的编辑
4、接口的性能、压力测试
HTTP
协议:
协议:计算机通信网络中两台电脑 之间进行通信所必须共同遵守的规则或规定