繁体   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