一尘不染

通过axios POST请求传递标头

json

我已经按照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})
})

任何帮助是极大的赞赏。


阅读 303

收藏
2020-07-27

共1个答案

一尘不染

使用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
    })
  })
2020-07-27