Ajax результат всегда возвращает ошибку, даже если функция успешна - PullRequest
0 голосов
/ 17 апреля 2020

У меня есть функция Ajax, которая выглядит следующим образом

  $.ajax({
            type: "POST",
            url: "@IGT.baseUrl/SODetailsAjax/AddUnits",
            traditional: true,
            data: {
                __RequestVerificationToken: token,
                so_id: @Int32.Parse(Request["orderId"]),
                site_id: site,
                addItem_id: items,
                addItem_qty: itemsqty,
                addItem_disc: itemsdisc,
                addComp_id: comps,
                addComp_qty: compsqty,
                addComp_disc: compsdisc,
                addPart_id: parts,
                addPart_qty: partsqty,
                addPart_disc: partsdisc
            },
            success: function (data) {
             if(data.success === "False"){
                var errorMessage = data.Message;      
                alert("Error:" + errorMessage);
                return;
             }
             if(data.success === "True"){
                location.href = "../SalesOrders/Details?id=@so.ID";
             }            
            },
            error: function (jqXHR, status, error) {
                alert("Error:" + error);
            }
        });

И у меня есть метод JSON ActionResult, который делает это в нем.

  if (!canCreate)
                    {                 
                            var errorMessage = string.Join(",", errors);
                            var stock = new { success = "False", Message = errorMessage };
                            return Json(stock, JsonRequestBehavior.AllowGet);                                       
                    }
  else
                    {

                            var result = new { success = "True" };
                            return Json(result, JsonRequestBehavior.AllowGet);
                    }

Но каждый раз, когда успех Значение true, возвращает сообщение об ошибке «Ошибка: не определено», когда я нажимаю «ОК». Но как я могу сделать так, чтобы он просто продолжал вместо отправки сообщения об ошибке?

1 Ответ

0 голосов
/ 17 апреля 2020

У вас есть пара ошибок. В вашем if (data.Success = "false") утверждении это не условие. Это задание. Вы должны сделать if (data.success === "false"), чтобы проверить состояние. Также обратите внимание, что «успех» - это все строчные буквы, потому что он конвертируется в Json. Вы также должны отметить, что «False» не равно «false», поэтому вы должны выбрать регистр. Либо выполните «False» / ​​«True» в c# и JavaScript, либо в «false» / ​​«true».

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