VB.net,MVC4,asp.net views。
我想知道为什么我发送参数(int),参数(模型)时无法发送或发生错误。
数据:
var ID = '<%: Model.ID%>';
var data = $('#dlg').find('form').serialize();
Ajax Post:
$.ajax({
url: '<%: Url.Action("EST", "Now")%>',
type: 'POST',
data: { id: ID, model: data },
success: function (rData) {
$('#divE').html(rData);
}
});
现在 - 控制器:
<HttpPost> _
Function EST(id As Integer, model As EViewModel) As ActionResult
所以我传递一个modelID和表单数据,单独发送它们(带有修改)都可以工作,但是将它们一起发送它似乎使第二个参数为空。通过调试动作找到。
答案 0 :(得分:1)
尝试使用JSON.stringify。 包含contentType:“application / json; charset = utf-8”,当你省略contentType值时,默认为'application / x-www-form-urlencoded; charset = UTF-8'当你发布数据时,这可能会成为一个麻烦
$.ajax({
url: '<%: Url.Action("EST", "Now")%>',
type: 'POST',
data: JSON.stringify({ id: ID, model: data }) ,
contentType: "application/json; charset=utf-8",
success: function (rData) {
$('#divE').html(rData);
}
});