我需要找到一种通过ajax请求将序列化表单和额外参数发布到控制器的方法。我可以在表单上使用serialize()
,或者只使用params发送对象,但不能同时发送。我该如何做到这一点?
例如,我希望我的控制器参数如下:
myaction(int siteID, Model model).
答案 0 :(得分:3)
传递您想要的额外参数以及表单数据,如下所示:
$.ajax({ type: 'POST',
url: "/MyController/Process",
data: $("form").serialize() + '&id=12345' ,
success: function () { alert("Successful"); },
dataType: "json"
});
希望这会有所帮助..
答案 1 :(得分:0)
您需要使用以下内容:
var dataToPost = $('#formID').serialize() + "&siteID=" + "23";
现在在jquery ajax方法中使用这个dataToPost
变量,如下所示:
$.ajax({
url: //url,
type: //'POST',
dataType: //'html',
async: true,
data: dataToPost,
cache: false,
}).success(function (response, status, xhr) {
}).fail(function (e) {
console.log(e);
});