#javascript #node.js #axios #http-headers #http-post
Вопрос:
Я использую axios
для отправки HTTP-запроса POST с некоторыми двоичными данными, такими как это:
axios.post(url, input, {headers: {'Content-Type': 'application/octet-stream'}})
Когда я получил Bad request
сообщение об ошибке, я распечатал заголовки запросов:
"headers" : {
"common": {
"Accept": "application/json, text/plain, */*",
"Content-Type": "application/octet-stream"
},
"delete": {},
"get": {},
"head": {},
"post": {
"Content-Type": "application/octet-stream"
},
"put": {
"Content-Type": "application/x-www-form-urlencoded"
},
"patch": {
"Content-Type": "application/x-www-form-urlencoded"
}
}
Я отменил заголовки по умолчанию (см. Ниже) и Ok
вместо этого получил Bad request
axios.defaults.headers = {"Content-Type": "application/octet-stream"}
Таким образом, проблема устранена, но мне не нравится переопределять axios
значения по умолчанию. Как бы вы посоветовали использовать axios.post
для правильной отправки заголовка ?
Комментарии:
1. Вам необходимо отдельно указать
content-type
заголовок для каждого запроса, чтобы он соответствовал типу отправляемых вами данных. Документ axios очень четко описывает, как отправлять заголовки с конкретным запросом.2. Спасибо. К сожалению, я не нашел его в документации ( github.com/axios/axios ). Не могли бы вы указать мне на конкретный пример ?
3. Это все варианты для любого запроса axios. Входит в этот список
headers
.