javascript - 如何使用 GET 请求将 JSON 数组传递给 Controller 方法?
问题描述
我有一个这样的控制器方法:
[GET]
public ActionResult GetFailureInfo(List<FailureInfoModel> failureInfoModels){}
我有一个这样的模型:
public class FailureInfoModel {
public int Id {get; set;}
public List<string> Reasons {get; set;}
}
现在我想通过在前端使用 window.open() 来传递 json 数据,如下所示:
<script type="text/javascript">
var json =
[
{
Id:111,
Reasons:[1,2]
}
];
var formatJson = JSON.stringify({failureInfoModels : json});
window.open("url?failureInfoModels=" + escape(formatJson))
</script>
但是只能得到一个包含 0 个项目的 List 对象。我应该如何更改我的代码来解决这个问题?谢谢。
解决方案
将输入更改为字符串并将其反序列化。
1. public ActionResult GetFailureInfo(string failureInfoModels = "")
{
2. List<FailureInfoModel> failuresData = JsonConvert.DeserializeObject<List<FailureInfoModel>>(failureInfoModels);
}
推荐阅读
- python - Python 日志记录:使用配置文件的 ISO8601 时间戳和毫秒和时区
- python - TensorFlow - ValueError:形状 (3, 1) 和 (4, 3) 不兼容
- sql-server - ntext参数的存储过程cut值
- html - 如何垂直居中两个子元素?
- java - 如果这些线程从不修改同一个项目,是否可以从多个线程修改 ArrayList 中的项目?
- angular - Angular HighCharts 更新系列
- python - 使用 lambda 函数的 Python 列表排序
- python - Python:需要在箱线图中重叠实际数据
- emeditor - 在 EmEditor 中:如何对两列单元格(在同一行)中的值求和并将结果存储在第三列中?
- laravel - 如何获取当前模块名称 [nwidart/laravel-modules]