角柱数组对象

时间:2017-09-25 12:05:40

标签: javascript angularjs json http post

我正在尝试发布一个对象数组,我希望帖子能像这样发布JSON

{"campaign":"ben",
"slots":[
      {                        
     "base_image": "base64 code here"
      }
       ]
}

当我发布时,我在控制台中获取此内容

  

angular.js:9866 POST / ccuploader / Campaign / updateSlots 413(Payload Too Large)   (匿名)@ angular.js:9866   n @ angular.js:9667   f @ angular.js:9383   (匿名)@ angular.js:13248   $ eval @ angular.js:14466   $ digest @ angular.js:14282   $ apply @ angular.js:14571   (匿名)@ angular.js:21571   dispatch @ jquery.min.js:3   r.handle @jquery.min.js:3   app.js:71失败

我不确定为什么我的帖子不起作用。有人可以指出我的错误吗?

JavaScript代码

 $scope.SaveImage = function () {
        $http({
            url: "http://www.somesite.co.uk/ccuploader/Campaign/updateSlots",
            method: "POST",
            data: $.param({ 'campaign': "name", 'slots': $scope.slots }),
            headers: { 'Content-Type': 'application/x-www-form-urlencoded' }
        }).then(function (response) {
            // success
            console.log('success');
            console.log("then : " + JSON.stringify(response));
        }, function (response) { // optional
            // failed
            console.log('failed');
            console.log(JSON.stringify(response));
        });
    };

1 个答案:

答案 0 :(得分:0)

似乎您在POST请求上发送了POST字符串。 大多数网络服务器都有最大 server限制。 您应该将POST配置为允许较大的chunking参数。 实现因服务器而异。

如果您的服务器使用的是PHP,请参阅此 bootswatch for bootstrap 4.0.0-alpha

如果您可以通过timeout上传图片,效果会更好。有很多图书馆可以做到这一点。否则,您的浏览器将挂起,请求最终将multipart。这称为multipart上传。

您可以上传 GB 图片,而$.param上传机制没有任何问题。

<强>更新

同样不使用$.param函数只需将参数直接传递给数据对象即可。由于有效负载很重,$scope.SaveImage = function () { $http({ url: "http://www.somesite.co.uk/ccuploader/Campaign/updateSlots", method: "POST", data: { campaign: "name", slots: $scope.slots }), headers: { 'Content-Type': 'application/x-www-form-urlencoded' } }).then(function (response) { // success console.log('success'); console.log("then : " + JSON.stringify(response)); }, function (response) { // optional // failed console.log('failed'); console.log(JSON.stringify(response)); }); 可能会在尝试解析请求时抛出此异常。

<script src="@Url.Content("~/Scripts/jquery.unobtrusive-ajax.min.js")" type="text/javascript"></script>