Отправить форму с моделью данных и получить JSON Ответить - PullRequest
0 голосов
/ 24 марта 2020

У меня есть форма в виде бритвы, которая определяется как:

using (Html.BeginForm("Submit", "CT0, FormMethod.Post, new { id = "rForm" }))

У меня есть метод в CT0, называемый submit, который принимает модель:

public async System.Threading.Tasks.Task<ActionResult> Submit(CTModel ctmodel)

Когда я отправить форму, как это, она попадает в функцию с правильной моделью, но я не могу получить ответ JSON:

var form = document.getElementById('rForm');
form.submit();

Я пробовал ajax, но он не отправляет контроллер, или ошибка, или успех. Кажется, он ничего не делает:

         $("#rForm").submit(function (e) {

            e.preventDefault(); // avoid to execute the actual submit of the form.

            var form = $(this);
            var url = form.attr('action');

            $.ajax({
                type: "POST",
                url: url,
                data: form.serialize(), // serializes the form's elements.
                success: function (data) {
                    alert(data); // show response from the php script.
                }
            });


        });

Я пытался jquery, но никогда не срабатывает функция отправки в контроллере или ошибка. Кажется, он ничего не делает:

        $(function () {
            $('form[name=rForm]').submit(function () {
                $.post($(this).attr('action'), $(this).serialize(), function (json) {
                    alert(json);
                }, 'json');
                return false;
            });
        });

Итак, есть идеи о том, как отправить форму вместе с моделью и получить ответ? Заранее спасибо.

1 Ответ

0 голосов
/ 24 марта 2020

Это сработало:

        var form = $("#rForm");
        $.ajax({
            type: 'POST',
            url: "/CT0/Submit",
            data: form.serialize(),
            success: function (data) {
                showModal("Error Getting Address: " + data.message);
            },
            error: function (xhr) {
                showModal("Error Getting Address: " + xhr.status + " " + xhr.statusText);
            }
        })
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...