javascript - 将表单数据和字符串列表发送到 Controller

标签 javascript jquery ajax asp.net-mvc

我正在尝试将完整的表单和单独的字符串列表发布到我的 Controller 。表单绑定(bind)到模型,但字符串列表不绑定(bind)到 Controller 中的字符串列表,并在列表中显示为单个字符串。

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 Controller 操作:

[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 });
});

关于javascript - 将表单数据和字符串列表发送到 Controller ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55734759/

相关文章:

javascript - 如何通过 JQuery 从 HTML 元素获取实时数据?

javascript - 如何获取和设置鼠标单击 x ,打开 pdf 文档的 y 位置?

javascript - 在我的 html 代码中创建动态 id

javascript - 多个 If 与正则表达式

java - 如何将 Ajax 与 JSF 2.0 结合使用?

java - AJAX w/Java 的当前核心技术?

javascript - IE10 不支持 iframe 中的样式表链接

javascript - 如何获取express.js服务器上的集合名称

jquery - 使用 jquery 打印特定的 div

javascript - 灯箱问题,点击事件不起作用