Jquery.SerializeArray如何为它添加更多参数?

时间:2012-11-10 03:38:14

标签: ajax asp.net-mvc json jquery

我正在将我的表单序列化,然后将其发送回自动绑定到视图模型的服务器。但是想要再向服务器发送2个参数但不确定如何

public ActionResult Test(MyViewModel vm, DateTime date, bool isSomething)

我不确定我的ajax调用中的“data”参数应该是什么样子

   data: { 'vm':  frm, 'date': date, 'isSomething': true }, // this does not work.

通常我会这样做

   data: frm,

我的代码符合并且没有javascript错误但是它将'vm'附加到所有frm,然后在服务器上它不知道如何绑定它。基本上json密钥搞乱了绑定。

当我这样做时

data: frm  // result of items look like this Id 7b97dcc7-3f8d-4cc0-ad2a-a104010f683d

当我做的时候

data: {'vm' : frm} // result looks like this vm[0][name]    Id

我必须发送一些内容,因此它确实需要密钥。

1 个答案:

答案 0 :(得分:0)

您的操作方法

中存在语法错误
public ActionResult Test(MyViewModel, vm, DateTime date, bool isSomething)

应该是

public ActionResult Test(MyViewModel vm, DateTime date, bool isSomething)

您可能还想将此添加到您的jquery ajax调用

data: { 'vm':  frm, 'date': date, 'isSomething': true },
traditional: true

它允许你“使用传统的param序列化方式。”