由于 后端是 用的 c# Web API 2.0, 后端一直返回 405 ,后端只接受 post 请求,后端人员又不愿意改,
所以只能我前端用, 后端说 jQuery 的 ajax 都可以 ,凭什么 你现在不可以了。 后端不愿意改.
所以 问一下 大佬们 , axios 能去掉 OPTIONS 的验证吗 ,不用发 OPTIONS ,直接 post 请求。
由于 后端是 用的 c# Web API 2.0, 后端一直返回 405 ,后端只接受 post 请求,后端人员又不愿意改,
所以只能我前端用, 后端说 jQuery 的 ajax 都可以 ,凭什么 你现在不可以了。 后端不愿意改.
所以 问一下 大佬们 , axios 能去掉 OPTIONS 的验证吗 ,不用发 OPTIONS ,直接 post 请求。
你的请求跨域了吧,跨域的话浏览器默认自动会先发送个options请求。至于怎么去掉,我也没试过。
一般不用管,不影响post,put。
参考:
https://itbilu.com/javascript...
https://developer.mozilla.org...
跨域并不一定发送options请求
//针对post请求
你的'Content-Type'不是'application/x-www-form-urlencoded' 或者如果有type=file的控件就
是'multipart/form-data' 或者服务端或者你本身有自定义content-type的话 俩者不统一,浏览器才
会先发送options请求!
**建议你看看你们直接form-data接受的值格式的统一性**
无法去掉 OPTIONS,但是可以用 Access-Control-Max-Age 缓存,一段时间内不需要重复发 OPTIONS。
注:Access-Control-Max-Age 只对完全相同的 url 有效,参数不同也无法缓存。
9 回答1.7k 阅读✓ 已解决
6 回答1.5k 阅读
3 回答1.4k 阅读✓ 已解决
4 回答1.2k 阅读✓ 已解决
2 回答1.2k 阅读✓ 已解决
3 回答1k 阅读
3 回答1.3k 阅读✓ 已解决
跨域并满足以下条件,浏览器就会发送OPTIONS请求: