javascript - 关于 concole.log 中显示错误时的行为
问题描述
前端使用 Vue 构建,API 服务器使用 Laravel 构建。
如果我在前面用 try 和 catch 包围 API 调用,并在捕获它时在 console.log 中显示错误,则只显示字符串,但不显示对象的内容。但是当我在console.log中显示error.response.data时,会显示响应信息。
在执行 console.log (error) 时,为什么我看不到对象的信息(error.response.data 等)?
Vue
try {
var response = await axios.get('/user/1')
} catch(error) {
console.log(error)
console.log(error.response.data)
}
拉拉维尔
public function showUser(Request $request, $user_id)
{
$validator = \Validator::make($user_id, [
'user_id' => 'require',
]);
if ($validator->fails()) {
return response()->json([
'status' => 422,
'errors' => $validator->errors()
], 422);
}
return User::find($user_id');
}
解决方案
您不需要在 axios 调用上使用 try catch。改为这样做:
axios.get('/user/1')
.then(response => {
console.log(response.data);
})
.catch(error => {
console.log(error.response.data); // your failed validation errors will be here
})
.finally(() => {
// this will run always.
});
推荐阅读
- node.js - 从 Heroku 向 mLab 调用 api 时拓扑被破坏
- spring - Spring中带有maven的多模块项目
- java - JNI 中的 ReleaseStringUTFChars 导致崩溃 (SIGSEGV)
- android - 当我尝试重复我的操作时应用程序表现不佳
- r - dplyr 按 id 分组 N 天内的数据
- jquery - Bootstrap 轮播 7 个项目显示在页面上,通过点击和触摸移动单个项目
- java - java - 如何从用逗号和空格分隔的java中的控制台获取输入?
- php - 如何使用带有 API Key 和 API Secret 的 PHP 查询 OData API?获取“未设置 URL!” 卷曲错误
- google-cloud-datalab - Google Cloud Datalab - 创建您自己的 Python 环境
- android - 如果 Intent 设置为 Type,为什么我不能成功地向接收者发送广播?