java - 当请求数量很大时,HTTP post方法显示400错误

标签 java angularjs http-post http-status-code-400

这是我的 angularjs 代码

$scope.createOrderObject.orderItemObjs=JSON.stringify($scope.createOrderObject.orderItemObjs);

$scope.createOrderObject 

是一个数组,这个数组包含3个以上的数组。 当我添加最多 5 个产品时,效果非常好,但是当我尝试添加第 6 个产品时,它显示 400 错误。

$http({
            method: "POST",
            url: baseUrl + "/Order/saveOrUpdateOrders",
            params: $scope.createOrderObject,
            headers: {
                'Content-Type': 'application/json',

            }

在浏览器将此请求告知为格式错误的网址后,发布网址变得非常大,大约 5000 个字符。

我在 servlet 中收到这个请求,如下所示

@RequestMapping(value = "/Order/saveOrUpdateOrders", method =RequestMethod.POST)
    public void saveOrUpdateOrders(OrdersFormObj orderFormObj, HttpServletResponse response, HttpServletRequest request) throws IOException {
        try {
            String addCity = request.getParameter("addCity");
            String addDist = request.getParameter("addDist");
            String orderItemObjs = request.getParameter("orderItemObjs");

这是一个

String orderItemObjs = request.getParameter("orderItemObjs");

Stringfy数组

我真的不知道问题出在哪里。我怀疑网址长度,但我不知道如何解决这个问题。请帮助摆脱这个

最佳答案

尝试以这种方式进行ajax调用:

var req = {
 method: 'POST',
 url: baseUrl + "/Order/saveOrUpdateOrders",
 headers: {
   'Content-Type': "application/json"
 },
 data: $scope.createOrderObject
}

$http(req).success(function(){...}).error(function(){...});

params”用于 GET 调用,使用“data”进行 post 调用

关于java - 当请求数量很大时,HTTP post方法显示400错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46197412/

相关文章:

ajax - 使用 GET 请求比使用 POST 请求有什么优势?

java - OGraphDatabase ClassNotFoundException OrientDB 1.7.8

Java Android Studio SQL ResultSet 由应用程序执行时出现 NullPointerException

java - 未封闭字 rune 字背后的算法

java - 如何使java.awt.Label背景透明?

javascript - 在不同的列中显示 JSON 结果 Angular JS

javascript - 基于其他 DOM 元素在 ng-style 中使用变量

javascript - 对于输入类型 ="number"如何将默认值设置为 0

ruby - ruby 中等效的 curl 命令

带边界的 C# HTTP POST