[英]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.