簡體   English   中英

如何使用 JavaScript 處理來自 JSON 響應的自定義錯誤?

[英]How to handle custom errors from JSON response using JavaScript?

在使用 Fetch API 后,我正在嘗試根據 JSON 響應中收到的錯誤打印自定義錯誤消息。

這是我在嘗試使用數據庫中已經存在的 email 提交數據后收到的錯誤消息:

{"message":"Invalid Request","messages":{"email":["validation.unique"]}}

這是另一個錯誤,說 email 根本無效:

{"message":"Invalid Request","messages":{"email":["validation.email"]}}

我試圖向用戶打印一個特定的錯誤,說 email 已經在使用中。 我需要這樣的東西。

try {
  ...
} catch(error) {
  if(error.message == "validation.unique") {
  ... print error saying email already in use ...
  } elseif(error.message == "validation.email") {
  ... print error saying email is not valid ...
  }
}

如何檢查 if 語句中的 JSON 響應? 發送響應的服務器正在使用 Laravel。

我認為你可以使用'JSON.parse()'。

function test(tmpJson) {
    var tmpArr = JSON.parse(tmpJson);
    if (tmpArr.message == "Invalid Request") {
        var tmpE = tmpArr.messages.email;
        if (tmpE == "validation.unique") {
            alert('email already in use');
        } else if (tmpE == "validation.email") {
            alert('email is not valid');
        }
    } else {
        //success
    }
}

var testJson = '{"message":"Invalid Request","messages":{"email":["validation.unique"]}}';

test(testJson);

暫無
暫無

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

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