我的axios代码:
const instance = axios.create({
baseURL: process.env.BASE_API,
timeout: 5000,
withCredentials: true,
headers: {
'content-type': 'application/x-www-form-urlencoded;charset=UTF-8'
}
})
function get (url, getData) {
return instance.get(url, {
params: getData
})
}
function post (url, postData) {
return instance.post(url, qs.stringify(postData))
}
function put (url, putData) {
return instance.put(url, qs.stringify(putData))
}
export default {
get: get,
post: post,
put: put
}
发布内容类型':' application / x-www-form-urlencoded; charset = UTF-8很有用
但是,在使用PUT时,请求标头没有内容类型':' application / x-www-form-urlencoded;字符集= UTF-8 使put请求成为选项
答案 0 :(得分:0)
从你的问题中不太清楚你究竟要问的是什么。我假设您希望您的PUT请求实际发送PUT请求而不仅仅是OPTIONS请求。我还假设您正在向您控制的API发出请求。
我遇到了同样的问题(即当我尝试进行PUT调用时,我只看到了OPTIONS请求)并且我发现在我的API中我没有在我的CORS设置中启用PUT选项。我使用rails所以我所要做的就是将:put
添加到我的cors中间件中:
config.middleware.insert_before 0, Rack::Cors do
allow do
origins '*'
resource '*', :headers => :any, :methods => [:get, :post, :put, :options]
end
end
我根据this answer
计算出来了