首页 > 解决方案 > 将表单数据作为 urlencoded 发布是否受到与 URI 长度相同的长度限制?

问题描述

我正在尝试将包含字符串值的大对象作为 AngularJS 中的 urlencoded 表单值发布:

$http.post(
    myUrl,
    $httpParamSerializerJQLike(myObject),
    {
        headers: {
            ...customHeaders,
            "Content-Type": "application/x-www-form-urlencoded"
        }
    }
);

我发送这个请求的后端是一个 Spring Boot 应用程序。有点大时我会Http 416 URI too long出错。myObject

我认为像这样发布表单值的目的是避免 URI 长度限制。这是否受到同样的限制?

当我从 Chrome 控制台复制请求作为 curl 命令并将其导入 Postman 时,它会正确地将值放入正文字段中,所以我认为这意味着请求在正文中正确发送,而不是在 url 参数中。

除了以某种方式增加 Spring Boot 接受的 URI 长度或在正文中发布与常规 JSON 相同的数据之外,还有其他选择吗?

标签: angularjsformsspring-booturlencodex-www-form-urlencoded

解决方案


推荐阅读