如果 Vue.js 应用程序中的 axios 请求失败,我将无法访问错误(响应)状态代码。我无法弄清楚为什么在“.catch”和“axios.interceptors.response”中都未定义响应。我遵循了这条说明,该说明表明可以使用如下代码轻松访问“error.response”:
axios.interceptors.response.use(
(response) => {
console.log(response);
return response;
},
(error) => {
handleApiFail(error.response);
});
Run Code Online (Sandbox Code Playgroud)
如果我将此代码添加到我的应用程序中的“main.js”,则在请求失败时会调用“handleApiFail”,但第二个 lambda 中未定义 error.response 并且未调用第一个 lambda。如果请求成功,则定义第一个 lambda 中的“响应”并具有状态代码。
小智 6
我有这样的代码:
axios.interceptors.response.use(null, (error) => {
.........
return Promise.reject();
});
Run Code Online (Sandbox Code Playgroud)
然后,我发现我错过了在承诺拒绝中返回“错误”,更正如下:
return Promise.reject(error);
Run Code Online (Sandbox Code Playgroud)
缺乏
access-control-allow-origin: *
Run Code Online (Sandbox Code Playgroud)
响应中的标头导致浏览器阻止我的请求。
添加标头可以使 axios 正常工作。
| 归档时间: |
|
| 查看次数: |
16921 次 |
| 最近记录: |