添加链接
link之家
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接
相关文章推荐
耍酷的柚子  ·  「 ...·  1 年前    · 
喝醉的草稿纸  ·  C++ STL ...·  1 年前    · 

一个是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 协议: 协议:计算机通信网络中两台电脑 之间进行通信所必须共同遵守的规则或规定