Axios POST 请求 413(有效负载太大)

Posted

技术标签:

【中文标题】Axios POST 请求 413(有效负载太大)【英文标题】:Axios POST request 413 (Payload Too Large) 【发布时间】:2018-04-23 04:19:35 【问题描述】:

这是我的 React 项目中的 axios POST 请求。 labelIDs是一个长数组,长度在8000左右。

    axios.post('http://localhost:3000/api/filter', 
      'ids': labelIDs,
      'like_ratio_range': ["0", "1"]
    )

我试过body-parser,但没有解决问题。知道如何配置 axios 帖子正文限制吗?

或者这个 API 应该设计得更好吗?

【问题讨论】:

您需要在服务器上配置请求的正文限制。 @ChavaG 我可以在 axios 上进行配置吗?或仅在后端服务器上 错误来自服务器。服务器需要针对您希望它处理的请求类型进行配置。 听起来需要在后端配置服务器,否则您需要创建某种解析结构,将信息汇总到您的后端显然有更简单的解决方案这可能会有所帮助...***.com/questions/25332561/…我假设您正在使用节点 【参考方案1】:

此问题的解决方案在于正文解析器以及如何设置中间件。只有当您的内容类型和类型选项匹配时,正文解析器的限制选项才会生效。看起来你正在向服务器发送常规 json,你的 bodyparser 中间件应该是这样的。

var express = require("express");
var bodyParser = require("body-parser");
var app = express();
app.use(bodyParser.json(limit: '100kb'));

如果负载仍然太大,增加 bodyParser.json() 限制选项。尝试“200kb”,尝试“300kb”。不过 100kb 应该足够了。

如果这个 bodyParser 中间件不起作用,请出示您的 body-parser 中间件。

【讨论】:

以上是关于Axios POST 请求 413(有效负载太大)的主要内容,如果未能解决你的问题,请参考以下文章

413 请求实体太大 AWS Elastic Beanstalk

413 - 请求实体太大 IIS 和 SSL

413 请求实体在 Nginx 和 Amazon ElasticBeanstalk 中太大

nginx 413 请求实体在上传时太大[加载超过 1Mb 的文件

413 Request Entity Too Large(请求实体太大)

axios post 请求挂在有效请求上