axios中的标题内容类型无法设置application / json

时间:2019-08-02 22:32:29

标签: javascript axios

我正在尝试使用vue js和axios在项目中配置标头,以调用需要json的服务。我的问题是,当我使用POST方法进行调用时,axios将Content-Type放入x-www-urlencoded,并且在我的代码中,我将Content-Type放入应用程序/ json。

var loginObj = {
        var1: payload.login,
        var2: payload.password
      }

      const jsonLogin = JSON.stringify(loginObj)

      const config = {
        headers: {
          'content-type': 'application/json',
          'Accept': 'application/json'
        }
      }

      axios({
        url: 'url/example',
        method: 'post',
        data: jsonLogin,
        config
      })
        .then(response => {
          console.log(response);
        })
        .catch(error => {
          console.log(error);
        })

1 个答案:

答案 0 :(得分:0)

用于设置标头配置的Axios属性应为headers:,而您正在使用config:进行设置 尝试:

axios({
    url: 'url/example',
    method: 'post',
    data: jsonLogin,
    headers: config.headers
  })

或将您的常量配置更改为:

const configHeaders = {
  "content-type": "application/json",
  "Accept": "application/json"
};

并用于:

axios({
  url: "url/example",
  method: "post",
  data: jsonLogin,
  headers: configHeaders
});