Warm tip: This article is reproduced from serverfault.com, please click

json-通过axios POST请求传递标头

(json - Passing headers with axios POST request)

发布于 2017-06-18 17:45:29

我已经按照npm软件包文档中的建议编写了axios POST请求,例如:

var data = {
    'key1': 'val1',
    'key2': 'val2'
}
axios.post(Helper.getUserAPI(), data)       
.then((response) => {
    dispatch({type: FOUND_USER, data: response.data[0]})
})
.catch((error) => {
    dispatch({type: ERROR_FINDING_USER})
})

它可以工作,但是现在我修改了后端API以接受标头。

内容类型:“ application / json”

授权:“ JWT fefege ...”

现在,此请求在Postman上可以正常工作,但是在编写axios调用时,我遵循此链接并且无法完全正常工作。

我经常400 BAD Request出错。

这是我的修改请求:

axios.post(Helper.getUserAPI(), {
    headers: {
        'Content-Type': 'application/json',
        'Authorization': 'JWT fefege...'
    },
    data
})      
.then((response) => {
    dispatch({type: FOUND_USER, data: response.data[0]})
})
.catch((error) => {
    dispatch({type: ERROR_FINDING_USER})
})

任何帮助是极大的赞赏。

Questioner
Jagrati
Viewed
11
31.1k 2019-07-30 15:20:54

使用axios时,为了传递自定义标头,请提供一个包含标头的对象作为最后一个参数

修改你的axios请求,如下所示:

const headers = {
  'Content-Type': 'application/json',
  'Authorization': 'JWT fefege...'
}

axios.post(Helper.getUserAPI(), data, {
    headers: headers
  })
  .then((response) => {
    dispatch({
      type: FOUND_USER,
      data: response.data[0]
    })
  })
  .catch((error) => {
    dispatch({
      type: ERROR_FINDING_USER
    })
  })