首页 > 解决方案 > 如何使用 $http.get 发送更大的数据集?

问题描述

我能够通过发送数据,params但是当我尝试发送更多更大的数据时,它抛出了错误,例如url characters exceeded. 因此,我想将这些数据发送到正文,并使用[FromBody]或不使用 frombody 从 C# 方法中获取它。下面的代码是使用params的工作版本,但是我在方法中找不到使用的工作data版本。angularjs[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);
        }

标签: angularjsajaxasp.net-mvc-5httprequestgetmethod

解决方案


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


推荐阅读