AngularJs $ http.post()请求无法正常工作

时间:2016-12-15 10:45:45

标签: angularjs json nginx

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或浏览器中的内容长度大于24580,则会出现404错误

如果我发送此json时,如果指定的成员大小小于175或浏览器中的内容长度小于10080,则会成功

如果我收到404错误,我的浏览器控制台就像这样

Request header
-------------

Host: localhost

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

Accept: application/json, text/plain, /

Accept-Language: en-US,en;q=0.5

Accept-Encoding: gzip, deflate

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

Referer: http://localhost/login.do

Content-Length: 24580

Response header
--------------


Connection: close

Content-Encoding: gzip

Content-Type: text/html

Date: Thu, 15 Dec 2016 14:21:56 GMT

Server: nginx/1.10.1

Transfer-Encoding: chunked

我的nginx服务器有限制吗?请帮帮我

发帖请求没有限制rit?并获得请求仅限于2048KB

其实我是通过帖子发送的,那么我面临的问题是什么?

1 个答案:

答案 0 :(得分:0)

  

Connection: close,我认为您的服务器不接受大量数据。

nginx"快速失败"当客户通过发送413响应并关闭连接通知它发送大于client_max_body_size的主体时。

大多数客户在发送整个请求正文之前都不会阅读回复。因为nginx关闭了连接,所以客户端将数据发送到已关闭的套接字,从而导致TCP RST。

如果您的HTTP客户端支持它,处理此问题的最佳方法是发送Expect: 100-Continue标头。 Nginx从1.2.7开始正确支持此功能,如果413 Request Entity Too Large超过最大正文大小,则会回复100 Continue响应,而不是Content-Length

Referred from