Мой jQuery работает, но обратный вызов не работает в первый раз - PullRequest
0 голосов
/ 14 декабря 2018

Я работаю над простым проектом по изучению jQuery.Моя проблема - после нажатия кнопки я вызываю jquery.Он работает и передает данные в контроллер, но функция успеха не работает с первого клика.Работает на втором клике правильно.С моими параметрами, в этих двух вызовах метод в контроллере возвращает true.но при первом вызове jquery не работает в функции успеха, а при втором вызове.

Вот мой jquery:

function signin() {
    var parameters = {
        email: $('#emailtxt').val(),
        password: $('#passwordtxt').val()
    };
    console.log(parameters);
    $.ajax({
        url: '@Url.Action("Login","Session")',
        type: 'GET',
        data: parameters,
        dataType: 'json',
        success: function (correctData) {

            if (JSON.parse(correctData) == false) {
                alert("Incorrect e-mail or password.");
            } else if (JSON.parse(correctData) == true) {
                window.location.assign('@Url.Action("Index","Home")');
            }
        }            
    });
};

Вот мои коды в контроллере:

public JsonResult Login(string email, string password)
        {
            using (var context= new ProjistDbContext())
            {
                var user = context.Users.FirstOrDefault(x => x.UserEmail == email && x.UserPassword == password);
                if (user == null)
                {
                    var result = JsonConvert.SerializeObject(false);
                    return Json(result, JsonRequestBehavior.AllowGet);
                }
                else
                {
                    Session["UserId"] = user.Id;
                    var result = JsonConvert.SerializeObject(true);
                    return Json(result, JsonRequestBehavior.AllowGet);
                }
            }
        }

Я прошу вашей помощи в этом вопросе.Большое вам спасибо.

1 Ответ

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

Я решил свою проблему и хотел поделиться ею.Проблема была вызвана из-за этого ... Я добавлял кнопку вроде;

<button>...</button>

Такого рода определение обновляло страницу и вызывало ошибку при получении ответа от контроллера.Это также иногда выдавало ошибку, например

XHR не удалось загрузить GET ...

Если я добавлю type = "button" в определение кнопки html, он остановится, чтобы обновить страницу ивсе посты и отзывы работают хорошо.

Я хотел бы поделиться решением.Спасибо всем за вашу помощь.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...