Can jQuery do a POST of a ViewModel to a Controller in ASP.NET MVC?

ajax, asp.net-mvc, jquery, viewmodel

Solution

It is possible, there is no difference between a "traditional POST" and "AJAX Post". For example:

$.ajax({ type: "POST",
    url: '<%= Url.Action("AddCustomer", "Customer") %>',
    data: $('form').serialize(),
    success: function(data, textStatus) {
    }
});

Problem

I have my Html Textboxes created so that they will be bound to a custom view model when posting back to the server. ``` <%= Html.TextBox("CustomerFormViewModel.Email")%> ``` This works great if it's a traditional POST. I can then receive it on the Controller side with something like this: ``` [AcceptVerbs(HttpVerbs.Post)] public ActionResult AddCustomer(CustomersFormViewModel model) { //validate data, save customer, handle validation errors... } ``` I want to know -- is it possible to do the POST via jQuery and still get the same behavior?

Original source