我正在尝试将一些值从表单提交到我的 mvc Controller 。
这是我的 Controller :
//Post/ Roles/AddUser
[HttpPost]
public ActionResult AddUser(String json)
{
Log.submit(json);
return View();
}
这是js:
<script>
function submitForm() {
var usersRoles = new Array;
$("#dualSelectRoles2 option").each(function () {
usersRoles.push($(this).val());
});
console.log(usersRoles);
jQuery.ajax({
type: 'POST',
url: "@Url.Action("AddUser")",
contentType: "application/json; charset=utf-8",
datatype: 'json',
data: JSON.stringify(usersRoles),
success: function (data) { alert(data); },
failure: function (errMsg) {
alert(errMsg);
}
});
}
当我在 Controller 上调试时,我得到的参数为空?
console.log(usersRoles)
给我数据。
我做错了什么?
如何在 Controller 中接收 json 对象?
最佳答案
我在您的代码中看到您正在尝试将 ARRAY 传递给 POST 操作。在这种情况下,请遵循以下工作代码 -
<script src="~/Scripts/jquery-1.10.2.min.js"></script>
<script>
function submitForm() {
var roles = ["role1", "role2", "role3"];
jQuery.ajax({
type: "POST",
url: "@Url.Action("AddUser")",
dataType: "json",
contentType: "application/json; charset=utf-8",
data: JSON.stringify(roles),
success: function (data) { alert(data); },
failure: function (errMsg) {
alert(errMsg);
}
});
}
</script>
<input type="button" value="Click" onclick="submitForm()"/>
Controller 的 Action 将是 -
public ActionResult AddUser(List<String> Roles)
{
return null;
}
然后当你点击按钮时 -
关于javascript - 使用 jquery 和 ajax 将 json 对象发布到 mvc Controller ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21571201/