如何使用 $http.get 发送更大的数据集?

how to send a bit larger set of data with $http.get?

我可以通过 params 发送数据,但是当我尝试发送更大的数据时,它抛出了 url characters exceeded 之类的错误。所以,我想将这些数据发送到正文并使用 [FromBody] 或不使用 frombody 从 C# 方法获取它。下面的代码是使用参数的工作版本,但我找不到在 angularjs 中使用 data 和方法中的 [FromBody] 的工作版本。

地区列表

[{id:1, name:"test"}]

http请求


 return $http.get("api/region/getlocalities", { params: { regions: sendingRegions }, paramSerializer: '$httpParamSerializerJQLike' }).then(function (x) {
                        return x.data;
         });

方法

      [HttpGet]
        [Route("api/region/getlocalities")]
        public IEnumerable<Locality> GetLocalities([FromUri]List<Region> regions)
        {
            return _customZoneService.GetLocalities(regions);
        }

所有浏览器对 URL 长度都有一些限制(例如 IE 2000)。如果您需要使用长 URL 发送 GET...您必须切换到 POST 并改为在正文中发送数据。