Node.js + jQuery,ajax发送数组或json到服务器,载荷过大。

3
例如: jQuery:
var sendTemp=[];
var t={
   string:'this is test string1',
   time: '2017-03-20T04:25:06.584Z',
   type:'file',
   location:'usa',
   broken:false,
}

var max的值大于500~600时,我测试了发送到服务器的数组, 此时服务器会返回错误消息:负载过大问题。

var max=600;
for(var i=0;i<max;i++){
    sendTemp.push(t);
}
$.ajax({
    async:false,
    url:"/send",
    type:"POST",
    data:{
        sendTemp:JSON.stringify(sendTemp),
    },
    success:function(data){

    },
    error:function(jqXHR, textStatus, errorThrown){

    }
});

我发现了一种解决方案,但是在app.js中没有起作用。

Node.js:

设置限制:

var bodyParser = require('body-parser');
app.use(bodyParser.json({limit: '50mb'}));
app.use(bodyParser.urlencoded({limit: '50mb', extended: true}));

设置端口:

 app.post('/send',function(req, res, next){  
      console.log(req.body);
      res.end();
    });
1个回答

3

我曾遇到同样的问题。我进行了ajax提交,但收到了413负载过大的错误。 通过查阅网络和文档,我直接将限制设置为body-parser来解决了这个问题。

app.use(bodyParser({limit: '50mb'}));

我希望这对您有所帮助。


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