Axios POST请求返回413(负载过大)错误

10
这是我React项目中的axios POST请求。 labelIDs 是一个长度约为8000的长数组。
    axios.post('http://localhost:3000/api/filter', {
      'ids': labelIDs,
      'like_ratio_range': ["0", "1"]
    })

我试过使用body-parser,但它并没有解决问题。有什么办法可以配置axios的post请求体大小限制吗?

还是这个API应该被更好地设计?


您需要在服务器上配置请求的主体限制。 - Chava Geldzahler
@ChavaG 我能在axios上进行配置吗?还是只能在后端服务器上进行配置? - Jiayang
错误来自服务器。服务器需要配置为处理您想要处理的请求类型。 - Chava Geldzahler
听起来像是服务器需要在后端进行配置,否则您需要创建某种解析结构来将信息汇总到您的后端。显然有更简单的解决方案。这可能会有所帮助... https://dev59.com/x18e5IYBdhLWcg3w0NGO我假设您正在使用node。 - Evil Dr. PorkChop
1个回答

14
这个问题的解决方案在于body-parser以及你的中间件设置。只有当content-type和type选项匹配时,body-parser的limit选项才会生效。看起来你正在向服务器发送常规的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应该已经足够了。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接