我一直在嘗試整個下午在網(wǎng)絡(luò)上爬行,試圖在動作控制器中接收J(rèn)SON對象。什么是正確的或更簡單的方法?我嘗試了以下方法:1: //Post/ Roles/AddUser [HttpPost] public ActionResult AddUser(String model) { if(model != null) { return Json("Success"); }else { return Json("An Error Has occoured"); } }這給了我輸入一個空值。2: //Post/ Roles/AddUser [HttpPost] public ActionResult AddUser(IDictionary<string, object> model) { if(model != null) { return Json("Success"); }else { return Json("An Error Has occoured"); } }這在嘗試發(fā)布到它的jQuery方面給了我500錯誤?(這表示未正確綁定)。這是我的jQuery代碼:<script>function submitForm() { var usersRoles = new Array; jQuery("#dualSelectRoles2 option").each(function () { usersRoles.push(jQuery(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); } });}我要做的就是在我的mvc動作中接收J(rèn)SON對象?
3 回答

拉丁的傳說
TA貢獻(xiàn)1789條經(jīng)驗 獲得超8個贊
這里有幾個問題。首先,您需要確保將JSON對象綁定回控制器中的模型。這是通過更改來完成的
data: JSON.stringify(usersRoles),
至
data: { model: JSON.stringify(usersRoles) },
其次,您的jQuery調(diào)用沒有正確綁定類型。如果刪除
contentType: "application/json; charset=utf-8",
它會固有地綁定回字符串。
一起使用第一個ActionResult方法和以下jquery ajax調(diào)用:
jQuery.ajax({
type: "POST",
url: "@Url.Action("AddUser")",
dataType: "json",
data: { model: JSON.stringify(usersRoles) },
success: function (data) { alert(data); },
failure: function (errMsg) {
alert(errMsg);
}
});
- 3 回答
- 0 關(guān)注
- 494 瀏覽
添加回答
舉報
0/150
提交
取消