LAFINSIR 2023-04-27 18:30 采纳率: 67.9%
浏览 106
已结题

js的静态资源报401怎么处理?

js的静态资源报401怎么处理?

项目vue2,然后接口那边已经做了统一处理,报401会给个弹窗然后确认会让用户重新登录

但是静态资源比如图片,过了一天也过期了,然后我看console那边是报401,有什么统一处理的方法也可以像接口报错那样统一操作

  • 写回答

5条回答 默认 最新

  • JoseKe 2023-04-28 05:00
    关注
    以下回答参考GPT,并由JoseKe整理完成,希望您能采纳:
    在前后端分离的项目中,静态资源是存在于前端文件中的,通常会放在 public/static 文件夹中。一般情况下,静态资源请求不会验证用户身份,因此出现401错误可能是因为服务器对静态资源进行了身份验证而导致的。此时,可以在前端进行统一处理来解决问题。

    在 Vue 项目中,可以使用 Axios 库来发送请求,利用 axios.interceptors.response 对响应结果进行拦截和处理。实现如下:

    javascript
    import axios from 'axios';
    import router from '@/router';

    axios.interceptors.response.use(undefined, (error) => {
    if (error.response.status === 401) { // 判断是否为401的响应
    // 处理操作
    router.push('/login'); // 导航至登录页面
    }
    return Promise.reject(error);
    });


    因为是对静态资源进行拦截,所以需要对所有资源的请求都进行拦截处理。同时,处理的操作也应该是跳转至登录页面,让用户重新登录获取授权,保证资源请求的正确性。需注意的是,此操作只适用于前端请求出现401的情况,若后台访问的资源存在身份验证,还需要后端进行相应处理。
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(4条)

报告相同问题?

问题事件

  • 系统已结题 5月12日
  • 已采纳回答 5月4日
  • 创建了问题 4月27日