如果我发送的数据很大,AngularJs $ http.post()不会发送数据

时间:2016-12-15 08:50:10

标签: angularjs angularjs-scope

如果发送数据量很大,AngularJs $ http.post()不会发送数据

我想将一个任务存储到我的数据库中。如果assignedMember中的数据量超过175,则不会发送404错误但如果assignedMember中的数据量小于175,则会发送成功并存储我的数据库。对此有任何想法。我不对我有什么不妥。请帮帮我谢谢

这是我的json数据

$scope.task=

{
     "title": "My Title",
     "description": "My Description",
     "assignedMember": [
      {
           "userId": "51b701dae4b0dd92df2c32d1",
           "status": "ASSIGNED"
      },
      {
           "userId": "52de0811e4b04615ce7ed6bd",
           "status": "ASSIGNED"
      },
      {
           "userId": "559f8e97e4b0a5cdcd66bb76",
           "status": "ASSIGNED"
      },
        .
        .
        .
        .
        .
        .etc upto 500 data
     ]
}   

这是我的帖子请求api

var responsePromise = $http.post("api/tasks",$scope.task);
responsePromise.success(function(data, status, headers, config) {
    alert("Data created successfully");
});
responsePromise.error(function(data, status, headers, config) {
alert("Error")
});

如果我发送此json时指定的成员大小超过175,则会出现404错误

如果我发送此json时指定的成员大小小于175,则会成功

如果我收到404错误,我的浏览器控制台就是这样的 请求标题

主持人:localhost

User-Agent:Mozilla / 5.0(X11; Linux i686; rv:45.0)Gecko / 20100101 火狐/ 45.0

接受:application / json,text / plain, /

接受语言:en-US,en; q = 0.5

Accept-Encoding:gzip,deflate

Content-Type:application / json; charset = utf-8

参考者:http://localhost/login.do

内容长度:24580

回复标题

连接:关闭

内容编码:gzip

内容类型:text / html

日期:2016年12月15日星期四14:21:56 GMT

服务器:nginx / 1.10.1

Transfer-Encoding:chunked

1 个答案:

答案 0 :(得分:0)

我不知道它是否真的是同一个问题,但我们已经遇到过这样的情况。我们使用了Angular和Apache服务器。当我们发送超过128 KB的请求时,我们遇到了错误。已经发现Apache的ModSecurity模块尝试将临时文件写入/删除到没有权限的目录。仅当查询数据超过128 KB时才会出现此错误,因为在Apache中存在默认设置为128 KB的SecRequestBodyInMemoryLimit参数。因此,我们为启动apache进程的用户授予在/home/imtadmw/logsSSL/目录中写入和删除文件的权限。我希望这可以指导你。以下是一些有用的链接:https://github.com/SpiderLabs/ModSecurity/wiki/Reference-Manual#SecTmpDirhttps://github.com/SpiderLabs/ModSecurity/wiki/Reference-Manual#SecRequestBodyInMemoryLimit