axios put не работает - PullRequest
       35

axios put не работает

0 голосов
/ 29 мая 2018

мой код 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;charset = UTF-8 Заставляет запрос пут стать опциями

1 Ответ

0 голосов
/ 01 июня 2018

Из вашего вопроса не очень понятно, что именно вы пытаетесь задать.Я предполагаю, что вы хотите, чтобы ваш запрос PUT фактически отправлял запрос PUT, а не просто запрос OPTIONS.Я также предполагаю, что вы делаете запросы к API, которым вы управляете.

У меня была такая же проблема (то есть я видел запросы OPTIONS, когда пытался делать вызовы PUT), и я обнаружил, что в моемAPI У меня не было разрешено использовать параметры PUT в настройках CORS.Я использую рельсы, поэтому все, что мне нужно было сделать, это добавить :put к моему промежуточному ПО Cors:

config.middleware.insert_before 0, Rack::Cors do
  allow do
    origins '*'
    resource '*', :headers => :any, :methods => [:get, :post, :put, :options]
  end
end

Я понял это на основе этого ответа

...