2

我使用一个名为 jscroller 的 jQuery 插件,它使用 jquery.ajax 来进行 ajax 调用。我需要从搜索表单中传递所有参数,并将它们传递给 mvc 控制器,我认为最好的方法是将以下 expr 放入“数据”字段:

$('#formId').serialize();

我的问题是我需要与表单值一起传递每次调用都会更改的“页面”值。

如何将页面值与“数据”字段中的“序列化”表达式一起放置,或者真的有另一种更有效的方法吗?

4

3 回答 3

6

我认为

var formdata = $('#formId').serialize();
data: (formdata ? formdata + "&" : "") + "page=" + pageId

会解决你的问题

于 2012-06-21T10:22:28.647 回答
0

您可以创建一个新的 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");
于 2017-10-19T22:16:05.713 回答
0

我知道我迟到了,但下面的代码对我有用。

var data = $('#Form').serialize() + '&test=' + number;
$.ajax({
    ....
    data: data;
于 2021-12-19T05:26:34.737 回答