angularjs - 如何使用 $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);
}
解决方案
所有浏览器对 URL 长度都有一些限制(例如 IE 2000)。如果您需要使用长 URL 发送 GET ......您必须切换到 POST 并改为在正文中发送数据。
推荐阅读
- python - 在使用 python 时,如何使用基于 html 中数据结果的 if 语句?
- matplotlib - Sage:如何在 x 的特定值处沿函数 f(x) 的图形绘制点?
- testing - 未找到元素:尝试验证禁用的按钮
- unity3d - Unity 中的 Wav 循环点
- apache - 来自文件的 Fluentd 日志收集器
- cmd - LOG 未被识别为内部或外部命令
- sql - 如果在任何行中为真,则按具有重复对的行分组 - 结果为真
- ubuntu - 在 schedule 中使用 tcpdump 的最佳方式
- jquery - 在第一个完成后运行第二个 jQuery 点击函数
- python - read_eager() 未返回已执行命令的输出