javascript - 将表单数据和字符串列表发布到控制器
问题描述
我正在尝试将完整的表单和单独的字符串列表发布到我的控制器。表单绑定到模型,但字符串列表不绑定到控制器中的字符串列表,并显示为列表中的单个字符串。
var List = "one,two,three";
var dataToPost = $('#Form').serialize() + "&Words=" + JSON.stringify(List);
$.ajax({
type: "POST",
url: '/Home/Open/',
data: dataToPost,
dataType: "json",
success: function () {
alert('ok');
},
error: function () {
alert('error');
}
});
这是我的 MVC 控制器操作:
[HttpPost]
public IActionResult Open(DataModel Model, List<string> Words)
{
return View(Model);
}
解决方案
这对我来说很好:
var List = ["one", "two", "three"];
var dataToPost = $('#Form').serializeArray();
List.forEach(function (value, index) {
dataToPost.push({ name: 'Words[]', value: value });
});
推荐阅读
- php - Laravel:登录后的身份验证类不起作用
- python-3.x - 是否有覆盖 __hash__ 的用例?
- apache-nifi - Nifi handlehttprequest由于早期EOF而无法从HTTP请求接收内容:org.eclipse.jetty.io.EofException:早期EOF
- docker - 使用 Docker 将 .net 核心应用程序作为 Windows 服务托管
- javascript - 我如何过滤json获取数据
- java - Collectors.groupingBy 和 Collectors.partitioningBy 如何在 jdk8 内部工作?
- ios - SwiftUI 如何给 Slider 一个最小值和最大值并在 Text 中显示它的值?
- kubernetes - 大使是许可服务吗?应该更喜欢什么 - 特使代理或大使?
- html - 悬停时更改引导导航栏链接的颜色
- laravel - 如何在 Vue.js 中为单击的图像添加 CSS 类