Chrome 可以读取服务器提供的消息,(No project found for 70100)但是当console.log(err.message)我刚收到时Request failed with status code 400客户端代码:const doFetch = async () => { try { const {data} = await axios.post('/docs/query/project', {projectId: '70100'}); console.log(data); setFetched(data); } catch (err) { console.log(err.message); } }服务器代码:try { const docs = await docsDb.getProject(projectId); res.json(docs); } catch(err) { res.statusMessage = `No project found for ${projectId}`; res.status(400).end(); }Chrome 可以读取我的消息很烦人,但我不知道如何向用户显示它。显然,该消息已到达浏览器,我将不胜感激有关如何在我的客户端代码中访问它的一些提示!提前致谢。
2 回答

阿波罗的战车
TA贡献1862条经验 获得超6个赞
所述statusMessage在节点响应中发送面在Axios公司响应作为statusText属性。您可以通过查看err.responseAxios 错误的属性来查看与失败请求关联的响应对象。不过要小心;如果由于错误与连接失败等相关err.response而未发出 HTTP 请求,则不存在。
const doFetch = async () => {
try {
const {data} = await axios.post('/docs/query/project', {projectId: '70100'});
setFetched(data);
} catch (err) {
const message = err.response
? `Request failed with ${err.response.status}: ${err.response.statusText}`
: err.message;
console.error(message);
}
}
添加回答
举报
0/150
提交
取消