为什么我使用axios.delete(url)或axios.put()来发送请求,但是当我在Chrome开发工具中检查来自NetWork的请求时,请求方法是OPTIONS,而Access-Control-Request-Method是DELETE或PUT,如下所示:
答案 0 :(得分:0)
DELETE
或PUT
(或其他非简单)请求首先发出预检 OPTIONS
请求,以确定您是否允许发送此请求请求。请求方法在Access-Control-Request-Method
标题中给出。
在此处查看更多https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS#Simple_requests
答案 1 :(得分:0)
Axios使用JSON作为默认内容类型,该调用始终与浏览器一起进行,作为OPTIONS调用而不是POST方法。为了克服这个问题,我们需要正确设置“内容类型”。我的配置如下
let config={
headers: {'Content-Type' : 'application/x-www-form-urlencoded'}
}
return axios.post(postUrl,postJson,config).then(response=>{
return response.data;
}).catch(error=>{
return error;
});