Axios catch 错误返回 JavaScript 错误而不是服务器响应

San*_*gam 2 javascript laravel vue.js axios

我试图从服务器捕获验证错误。

代码:

axios.post('https://myBackendIp.com/api/teacher/time/create',Data)
.then(res=>{
       console.log(res)
 }).catch(error=>{
       console.log(error)
 })
Run Code Online (Sandbox Code Playgroud)

控制台日志输出

Error: Network Error
at createError (createError.js:16)
at handleError (xhr.js:87)
Run Code Online (Sandbox Code Playgroud)

网络选项卡输出

{"error":{"message":"Check your date field","status_code":500}}
Run Code Online (Sandbox Code Playgroud)

有没有办法改变它或者我做错了什么?

谢谢!

jar*_*smk 5

经过一番谷歌搜索后,我找到了这张票:

https://github.com/axios/axios/issues/960

它建议使用:

console.log(error.response)
Run Code Online (Sandbox Code Playgroud)

代替

console.log(error)
Run Code Online (Sandbox Code Playgroud)

编辑1:

做了一些进一步的阅读,显然这可能是 CORS 问题的症状,请参阅thisthis

网络选项卡上的请求可能看起来成功,但是,当它被 axios 处理时,Network Error返回了 a。