axios put not working

时间:2018-05-29 01:16:39

标签: http vue.js axios put

我的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请求成为选项

1 个答案:

答案 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

计算出来了