【发布时间】:2021-07-16 03:18:32
【问题描述】:
我正在使用 nextjs api/routes 我有一个登录名,当出现问题时返回一个 401 和我想向用户显示的消息文本。
一个最小的例子是:
API:/api/v1/auth/sigin.js
export default async (req, res) => {
const { name, password } = req.body;
const url = process.env.SH_API_BASEURL + 'auth/signin';
console.log(url);
try {
const resp = await axios.patch(url, { name, password });
return res.status(200).send(resp.data);
} catch (err) {
const { response } = err;
const status = response.status;
const message = response.data.errors[0].message;
console.log(`status: ${status}, message ${message}`);
return res.status(status).send(message);
}
};
页面/pages/auth/signin.js
const handleFormSubmit = async (formData, e) => {
e.preventDefault();
try {
const res = await axios.post('/api/v1/auth/signin', formData);
router.push('/secure/home');
} catch (err) {
console.log('pages auth in error');
console.log(err);
setSubmitError(true);
console.log('sigin handle submit error');
}
};
console.log(err) 显示输出
Error: Request failed with status code 401
at createError (createError.js:16)
at settle (settle.js:17)
at XMLHttpRequest.handleLoad (xhr.js:62)
如何访问页面代码中的 statusCode 和文本?
任何答案都可以在 nextjs api/routes 的上下文中
谢谢
【问题讨论】:
-
这个:stackoverflow.com/questions/44806333/… 回答你的问题吗?