我使用一个名为jscroller的jQuery插件,它使用jquery.ajax进行ajax调用。我需要从搜索表单中传入所有参数,并将它们传递给 mvc 控制器,我认为最好的方法是在"数据"字段中输入以下 expr':
$('#formId').serialize();
我的问题是我需要与表单值一起传递一个"页面"值,该值会随着每次调用而更改。
如何将页面值与"数据"字段中的"序列化"表达式一起放入,或者真的有另一种更有效的方法吗?
我认为
var formdata = $('#formId').serialize();
data: (formdata ? formdata + "&" : "") + "page=" + pageId
将解决您的问题
您可以创建一个新的 FormData,只需在该变量上添加参数即可
var formData = new FormData();
formData.append('pageId', pageId);
var your_form = $('#formId').serializeArray();
$.each(your_form,function(key,input){
formData.append(input.name,input.value);
});
$.ajax({
url: 'url_here',
data: formData,
contentType: false,
processData: false,
type: 'POST'
});
因此,在MVC控制器上,您将能够访问类似
var pageId = Request.Form.Get("pageId");
我知道
我超级迟到了,但下面的代码对我有用。
var data = $('#Form').serialize() + '&test=' + number;
$.ajax({
....
data: data;