Сообщение Ajax не получает JSON от контроллера MVC - PullRequest
0 голосов
/ 27 февраля 2019

Мой javacript выглядит следующим образом:

namespace ContactPage {
$(() => {

    //contact info
    let $firstName = $('#first-name'), $lastName = $('#last-name'), $email = $('#email');
    //form
    let $form = $('#main-form');
    $form.submit(() => {
        let data = $form.serialize();
        var post = $.post('/contact', data, function () {
            console.log('posted');
        });

        post.done(function (data) {
            console.log('done', data);
        })
        .fail(function (data) {
            console.log('fail', data);
        })
        .always(function (data) {
            console.log('always', data);
        });
    });
});

}

Контроллер MVC .net C # получает данные успешно (код показан ниже), однако JavaScript не ждетответ и браузер в конечном итоге отображают Json.Чего мне не хватает?

    [HttpPost]
    public ActionResult Index(ContactModel model)
    {
        var cl = seretContext.ContactLogs.Create();

        cl.Email = model.email;
        cl.Comment = model.message;

        seretContext.Set<ContactLog>().Add(cl);
        seretContext.SaveChanges();

        return Json(new { redirectTo = "/" });
    }

И в cshtml есть кнопка отправки, как показано ниже:

<div class="text-center">
                <button id="orderForm" class="btn btn-success btn-lg" type="submit" >Send</button>
            </div>

Браузер немедленно отображает необработанный Json ... вместо получения Json, чтобы онмогут быть обработаны.

Браузер отображает {"redirectTo": "/"}

Ответы [ 2 ]

0 голосов
/ 28 февраля 2019

Оказалось, что это была очень глупая ошибка - мои извинения - идентификатор формы был написан с ошибкой, и поэтому javascript даже не получил форму.

0 голосов
/ 27 февраля 2019

Можете ли вы попробовать что-то подобное, чтобы поймать все возможные результаты?

var post = $.post('/contact', function(){
    console.log('posted');
});

post.done(function(data) {
    console.log('done', data);
})
.fail(function(data) {
    console.log('fail', data);
})
.always(function(data) {
    console.log('always', data);
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...