在Javascript中提交表单时传递对象

时间:2014-10-29 03:04:10

标签: javascript asp.net-mvc-3 form-submit

我的控制器中有这样的东西。

public ActionResult GetResult(Employee employee){
    return RedirectToAction("Index","Employee");
}

我无法使用Ajax调用,因为它会发布帖子并等待响应,而不是提交。

当我有这样的东西时,它有效。

[HttpPost]
public ActionResult GetResult(string firstName,string lastName){
  return RedirectToAction("Index","Employee");
}


In javascript 


   var form = $("#Employee);
   form.attr('action','Employee/Index?firstName='Tim'&lastName='Tom');
   form.submit();

上面的参数作为querystring传递时有效。但是我不知道如何在发帖时传递一个对象。我尝试使用$ .post。但它没有用。

感谢。

1 个答案:

答案 0 :(得分:1)

MVC中的Jquery POST以这种方式工作:

由于您的控制器操作方法是:

public ActionResult GetResult(Employee employee)
{
    return RedirectToAction("Index","Employee");
}

您可能希望以这种方式修改Jquery POST调用

 var postData=function()
    {

        //prepare javascript object
                var employee=
                {
                  firstName:"firstname",
                  lastName:"lastname"
                };
        $.post('/GetResult',employee,function(data){
        //process the data here using the the data present in data obj
        });
     }

mvc中的模型绑定器使用您拥有的模型检查javascript对象中的相同参数。它还应该将action方法的参数名称与javascript对象名称匹配。

请告诉我这是否适合您。

由于