Ajax PostBack: чтение данных из контроллера - PullRequest
0 голосов
/ 28 июня 2019

Как мне прочитать данные с моего контроллера в моей обратной записи ajax?

У меня есть форма Razor

@using (Html.BeginForm("CreateDocument", "Pages", FormMethod.Post, new { id = "createDocumentForm" }))
{
   ....
}

И я ловлю действие Отправить в JavaScript:

<script type="text/javascript">
    $(document).ready(function () {

        $("#createDocumentForm").submit(
            function () {
                showWaitMode();
                $.ajax({
                    data: ("#createDocumentForm").serialize, 
                    success: (e) => {
                        console.log(e);
                    },
                    error: (errorResponse) => {
                        alert(errorResponse)
                    }
                })
                return false;
            }
        );
    });
</script>

В моем контроллере я нажал этот метод:

public ActionResult CreateDocument(NotatFletModel model)
{
    var reuslt = new
    {
        Staus = true,
        GoDocumentId = model.ContactId.ToString(),
        ErrorMessage = model.DocumentKindId,
    };

    return Json(reuslt);
}

Но в моей функции успеха Ajax я хотел бы получить данные от моего контроллера.Я ожидал, что это будет в моем параметре e, но это не

Короче говоря: как мне сделать запись Ajax и прочитать данные, отправленные с контроллера

1 Ответ

1 голос
/ 28 июня 2019

Оформить заказ на мой код для формы сообщения, используя ajax

HTML:

@using (Html.BeginForm("CreateDocument", "Pages", FormMethod.Post, new { id = "createDocumentForm" }))
{
....
}

Jquery:

 $("#createDocumentForm").submit(
        function (e) {
            showWaitMode();
            e.preventDefault(); 
            var form = $(this);
            var url = form.attr('action');
            $.ajax({
                url: url,
                type: 'POST',
                data: form.serialize(), // serializes the form's elements.
                success: function (data) {
                    console.log(data); // show response 
                },
                error: (errorResponse) => {
                    alert(errorResponse)
                }
            })
            return false;
        }
    );

Контроллер:

 //You can Use FormCollection also to get data
 //public ActionResult CreateDocument(FormCollection fc) {
 [HttpPost]     
 public ActionResult CreateDocument(NotatFletModel model) {
 //your logic
 return Json(model, JsonRequestBehavior.AllowGet);
 }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...