我有以下 JSon 调用,我想在 Controller 中调用一个方法并接受 JSon 对象来更新局部 View :
<script type="text/javascript">
function DoAjaxUpdate(btnClicked) {
btnClicked = $(btnClicked);
var $form = btnClicked.parents('form');
var url = '@Url.Action("Remove")';
$.getJSON(
url,
$form.serialize(),
function () {
if (data.htmlPartialView != null) {
return $("#divPartialView").load(obj.htmlPartialView);
}
});
return false;
}
</script>
不幸的是,这没有正确传递数据,而是将其作为查询字符串附加到 URL,例如:http://www.myLink.com/MyController/Remove?dataID=1359&dataMember=1
请帮忙。谢谢
最佳答案
这就是 $("form").serialize()
发生的情况。它将序列化表单上的所有内容并将其放在查询字符串中。
只要您的 Remove
操作方法采用原始 View 中的模型实例,它就会使用查询字符串中的值进行转换。
要将其作为 JSON 发送,您必须使用 JSON.stringify()
:
JSON.stringify($form.serialize())
关于c# - MVC 中的 JQuery getJSON,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16450846/