我使用一个名为 jscroller 的 jQuery 插件,它使用 jquery.ajax 来进行 ajax 调用。我需要从搜索表单中传递所有参数,并将它们传递给 mvc 控制器,我认为最好的方法是将以下 expr 放入“数据”字段:
$('#formId').serialize();
我的问题是我需要与表单值一起传递每次调用都会更改的“页面”值。
如何将页面值与“数据”字段中的“序列化”表达式一起放置,或者真的有另一种更有效的方法吗?
我使用一个名为 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;