簡體   English   中英

即使 function 成功,Ajax 結果總是返回錯誤

[英]Ajax result always returns error even if function is successful

我有一個看起來像這樣的 Ajax function

  $.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);
                    }

但是每次 Success 為真時,當我單擊“確定”時,它會返回一條錯誤消息,指出“錯誤:未定義”。 但是我怎樣才能讓它繼續而不是發送錯誤消息呢?

你有幾個錯誤。 在您的if (data.Success = "false")語句中,這不是一個條件。 這是一個任務。 你應該這樣做if (data.success === "false")這將檢查條件。 另請注意,“成功”全部為小寫,因為它已轉換為 Json。 您還需要注意“False”不等於“false”,因此您必須選擇一個套管。 在 c# 和 JavaScript 中都執行“False”/“True”或“false”/“true”。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM