如何将另一个参数从jQuery Ajax传递给MVC控制器,以及form.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;

最新更新