使用vue axios 遇到了post,put,delete方法请求数据的时候变成options,求解~

在使用delete方法时候,请求变成了options,
clipboard.png

api接口如下

clipboard.png

这样传参可以吗?

clipboard.png

阅读 20k
6 个回答

options 是跨域的测试请求 让后端直接把option请求返回即可 option请求通过之后 才会正式发送请求

跨域问题。
非简单请求的CORS请求,会在正式通信之前,增加一次HTTP查询请求,称为"预检"请求(preflight),在post,put,delete发送之前发送一个 OPTIONS 请求,以判断服务端是否允许这一域访问.
http://www.ruanyifeng.com/blo...

这个坑我也是昨天刚踩过去,500你去查查看token,如果没有问题的话看看参数,然后去找后台问是什么格式的数据,我们公司用的是ajax,所以我用axios就被坑了,ajax的默认数据格式是x-www-from,而axios默认数据格式是json,问问这个有没有问题,再看看参数是要字符串还是json类型的数据,反正我就是这么被坑的。。。伤心o(╥﹏╥)o

这是 预请求 ,用来判断是否接收正式请求的,预请求会去判断你的正式请求的,方式,请求头等等信息,只有符合要求,才会进行正式请求。

我曾经遇到了这个问题,我的问题所在是跨域问题导致的,开始是使用的 Chrome 插件解决本地跨域问题,可能是插件有点问题吧,然后把插件关掉换了另一种方式解决跨域后就没有再发送 options 请求了,具体情况可以看这里

跨域踩坑之坑死人系列

希望帮助到你

设置options 不进行发送option 验证

Vue.http.options.emulateJSON = true
推荐问题