【问题标题】:Getting error when using axios POST使用 axios POST 时出现错误
【发布时间】:2018-08-17 10:01:22
【问题描述】:

我的url、headers和body数据定义为:

var headers = {
    'Authorization': 'Bearer 12345',
    'Content-Type': 'application/x-www-form-urlencoded'
  }

var data = {
  'password': '123456',
  'ver': '1',
  'time': '1534494857045'
}

我打电话给axios

axios.post(url, data, headers)
.then(response => {
  console.log(response);
})
.catch(error => {
  if (error.response) {
    console.log(error.response.data);
    console.log(error.response.status);
    console.log(error.response.headers);
  } else if (error.request) {
    console.log(error.request);
  } else {
    console.log('Error', error.message);
  }
  console.log(error.config);
});

我从服务器收到500 错误。调用同一服务器的其他应用程序工作正常。我什至在 Postman 中尝试过这个并且它有效。我在axios 做错了什么?

【问题讨论】:

  • 您应该首先找出服务器错误是什么。然后,您可以使用该信息来修复请求。
  • @Quentin 我不能。服务器运行其他应用程序。这些数据也可以通过 Postman 工作。 JS代码中存在导致错误的内容。
  • 是的,关于 JS 的某些东西导致了错误,但要弄清楚如何修复它首先要知道错误是什么
  • @Quentin 这不是我的服务器。我不能问他们。
  • 我认为你必须检查这个链接github.com/axios/axios/issues/1143也许它可以解决你的问题。

标签: javascript axios


【解决方案1】:

遗憾的是,这是一个有根据的猜测,因为没有提供 MCVE。

请参阅documentation 了解 axios:

默认情况下,axios 将 JavaScript 对象序列化为 JSON。要改为以 application/x-www-form-urlencoded 格式发送数据,您可以使用以下选项之一。

您正在设置一个 Content-Type 标头,声称您正在发送 application/x-www-form-urlencoded 数据,但您尚未完成文档建议以该格式生成数据的任何事情。

【讨论】:

  • 是的,我必须stringify 数据。
猜你喜欢
  • 2020-10-26
  • 2020-10-08
  • 2018-11-17
  • 2020-04-03
  • 2019-08-22
  • 1970-01-01
  • 2020-03-16
  • 2021-05-16
  • 2020-10-02
相关资源
最近更新 更多