MVC3 Passing ViewModel to controller method using JQuery Ajax

后端 未结 3 1680
臣服心动
臣服心动 2021-01-05 15:06

I\'m trying to pass a form\'s data to my controller method using JQuery Ajax, but I\'m not sure how you do this as my ViewModel is null when I use debugger on the Controller

3条回答
  •  时光说笑
    2021-01-05 15:25

    If you wanted to automatically build the model from the bound view model of a form, you can use the code from this answer https://stackoverflow.com/a/1186309 to properly serialize to a JSON object.

    You'd then need to pass it as a string to your $.ajax call. All in all, very similar to what you originally had. Something like:

    var premisesViewModel = $('form').serializeObject();
    $.ajax({
            url: form.attr('action'),
            type: 'POST',
            dataType: "json",
            contentType: 'application/json',
            data: JSON.stringify(premisesViewModel),
            success: function (data) {
                alert('done');
            }
        });
    

    Quite strange that there's no core function to convert to a JSON object, but there you go.

提交回复
热议问题