登录之后undefined还有一堆400的报错

来源:8-3 登录第二部分 axios 设置通用 header

阿彬2023

2023-12-16

您好,张老师,我刚刚登录测试账户之后报了一堆错误,但是我反复看了8-3课程内容,也没发现我这里有什么问题
图片描述
图片描述
图片描述

写回答

2回答

张轩

2023-12-18

同学你好

这是两个问题,先说第一个:是因为你发送请求以后并没有返回对应的数据,所以就变成了 undefined

修改 store.ts

fetchCurrentUser ({ commit }) {
// 添加 return
    return getAndCommit('/user/current', 'fetchCurrentUser', commit)
},
const getAndCommit = async (url: string, mutationName: string, commit: Commit) => {
    const { data } = await axios.get(url)
    // await new Promise(resolve => setTimeout(resolve, 3000))
    commit(mutationName, data)
    // 在最后添加 return
    return data
}

这样就可以成功打印出信息了


第二个问题,继续看下去我们会解决的,注意查看 URL 会发现,它后面添加了两部分图片缩放的参数,这是因为 ColumnList 当中的这一部分代码造成的:

column.avatar.url = column.avatar.url + '?x-oss-process=image/resize,m_pad,h_50,w_50'

每次载入都会持续添加 url的后缀,造成越来越多。

可以看看源代码中怎么解决的:https://git.imooc.com/coding-449/zheye/src/master/src/components/ColumnList.vue

当然后面我们课程中还会讲

0
1
阿彬2023
非常感谢!
2023-12-18
共1条回复

张轩

2023-12-17

同学你好 请提供一下你的代码库(git) 我在本地帮你看下 谢谢

0
1
阿彬2023
张老师,这个是我的gitee仓库链接,麻烦您有空的时候看下https://gitee.com/czb83334345/zheye-project.git
2023-12-17
共1条回复

Vue3 + TS 仿知乎专栏企业级项目

带你完成前后端分离复杂项目,率先掌握 vue3 造轮子技能

3224 学习 · 2373 问题

查看课程