澄清“400 - 错误请求”
Clarifying "400 - Bad Request"
我故意从我的后端触发错误请求。使用 express 的后端正在按预期正确回答:
[...]
.catch((error) => {
res.statusCode = 400;
res.json({
msg: "This is some error",
err: error,
});
});
我的问题是:400 是否总是出现在浏览器控制台中?我以为我以正确的方式处理了错误。
为什么我必须使用
在前端检索数据
// 400:
function (data) {
var data = data.responseJSON.msg);
}
而不是(类似于 200:)
// 400:
function (data) {
var data = data.msg);
}
我只是想知道,如果我做错了什么。
感谢任何建议
异步获取数据时,2**
响应代码以外的任何响应都由 .catch
块处理。因此,任何其他响应,无论是 4**
还是 5**
都会被 catch 块捕获,因此,如果您使用的是 Axios 之类的库,则后端的响应将在 error.response
或 data.response
在你的情况下。
我不知道你用什么来执行异步获取数据,即 Fetch Api 所以我的回答是一个通用的响应,上面的代码是否完整?
根据我的经验,无论是异步调用产生的任何错误都会记录到控制台,但您可以从前端在 catch 块中处理这些错误
问题是当 console.log
尝试输出错误时,打印的是字符串表示形式,而不是对象结构,因此您看不到 .response
属性 或你的情况 .responseJSON
通过使用 catch 块 .catch()
捕获错误,或者如果您使用 async / await
,您通常应该将代码包装在 try / catch
中以捕获错误,否则它会总是在控制台输出这个红色错误
我故意从我的后端触发错误请求。使用 express 的后端正在按预期正确回答:
[...]
.catch((error) => {
res.statusCode = 400;
res.json({
msg: "This is some error",
err: error,
});
});
我的问题是:400 是否总是出现在浏览器控制台中?我以为我以正确的方式处理了错误。
为什么我必须使用
在前端检索数据// 400:
function (data) {
var data = data.responseJSON.msg);
}
而不是(类似于 200:)
// 400:
function (data) {
var data = data.msg);
}
我只是想知道,如果我做错了什么。
感谢任何建议
异步获取数据时,2**
响应代码以外的任何响应都由 .catch
块处理。因此,任何其他响应,无论是 4**
还是 5**
都会被 catch 块捕获,因此,如果您使用的是 Axios 之类的库,则后端的响应将在 error.response
或 data.response
在你的情况下。
我不知道你用什么来执行异步获取数据,即 Fetch Api 所以我的回答是一个通用的响应,上面的代码是否完整?
根据我的经验,无论是异步调用产生的任何错误都会记录到控制台,但您可以从前端在 catch 块中处理这些错误
问题是当 console.log
尝试输出错误时,打印的是字符串表示形式,而不是对象结构,因此您看不到 .response
属性 或你的情况 .responseJSON
通过使用 catch 块 .catch()
捕获错误,或者如果您使用 async / await
,您通常应该将代码包装在 try / catch
中以捕获错误,否则它会总是在控制台输出这个红色错误