axios post请求提交后抛出431错误

时间:2021-01-04 03:44:42

标签: javascript http axios

我有一个单页项目, 我想提交表单,但是当我的 axios 请求尝试运行时收到 431(请求头字段太大)错误。 不知道还能尝试什么,所以如果有人有任何建议,那就太棒了!

我尝试过的事情:

set maxContentLength and maxBodyLength to Infinity,
added max-http-header-size

配置在哪里:

axios({
  method: 'post',
  url: 'http://example.com',
  params: {a:b},
  headers: {
    'Content-Type': 'application/x-www-form-urlencoded'
  }
}).then(function (response) {
  console.log(response)
}).catch(function (error) {
  console.log(error)
})

当params的内容长度很小时,它起作用。

然而,当参数内容长度太大(如 14kb)时, 它收到 431 错误(请求头字段太大)

完整的 URL 如下所示:

http://localhost:9527/console/article/update?id=24321&title=%E5%8F%82%E4%B8%8E%E6%A0%87%E9%A2%9819000000061&image[]=&browseNumber=0&likeNum=1&shareNum=0&type=2&aspectType=0&status=1&userId=21334&admin=LZ000001&descStr=%E5%8F%82%E4%B8%8E%E5%86%85%E5%AE%B919000000061&roof=0&commodityIds[]=41&examine=1&htmlUrl=http:%2F%2Flocalhost:8080%2Fstatic%2Fhtml%2Fatlas%2B24321.html&isDel=0&sortNum=0&sortNo=0&createTime=2020-11-04+12:04:10&activityId=3&userNickName=iVQH4763&article=%3Cp%3E%E5%8F%82%E4%B8%8E%E5%86%85%E5%AE%B919000000061%3C%2Fp%3E&isLike=0&labelIds[]=8

我认为错误是由 url 的参数内容太大引起的。 而且我无法找出正确配置的方法。 任何帮助将不胜感激。谢谢!

1 个答案:

答案 0 :(得分:1)

试着去做:

axios.post('http://example.com',
  {
    a:b
  },
  headers: {
    'Content-Type': 'application/x-www-form-urlencoded'
  })
  .then(function (response) {
    console.log(response);
  })
  .catch(function (error) {
    console.log(error);
  });