Почему вызов ajax не возвращает успех или ошибку, хотя контроллер отправляет данные? - PullRequest
0 голосов
/ 02 февраля 2019

У меня есть вызов Ajax типа 'GET', который правильно выполняет действие контроллера mvc.Тип действия контроллера - «JsonResult», и он возвращает данные json, которые должны указывать на успешность вызова ajax.Но вызов ajax не отвечает за успех или ошибку.

 $.ajax({
    url: baseUrl + '/Controller_Name/Action_Name',
    type: 'GET',
    data: param,
    success: function (data) {
        var response = JSON.parse(data);
        if (response.length > 0 && response != '-1') {

            toastr.options.timeOut = 2500;
            toastr.success('Data retrieved successfully', 'Success');

        }
    },
    error: function (xhr) {

        toastr.options.timeOut = 2500;
        toastr.warning('Error while retrieving data', 'Error');
    }
});

1 Ответ

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

Типом действия контроллера является 'JsonResult', и он возвращает данные json, которые должны указывать на успешность вызова ajax

Когда мы возвращаем JSONResult, мы получаем объект json в обратном вызоветак что нам не нужно разбирать его.Если действие возвращается следующим образом:

public ActionResult YourAction()
{
    return Json(new { success = true }, JsonRequestBehavior.AllowGet);
}

, то в случае успеха должно работать следующее:

success: function (data) {
           alert(data.success);
           if(data.success === true) {
                // do something here
           }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...