又做了一遍项目,报错了

又做了一遍项目,报错了

问题描述:

用资料里的项目能正确运行,自己试着做了一点,报错了,报错信息:8080/api/user_info?uid=undefined&eid=undefined:1。打断点发现能拿到user对象,
那么前端不应该通过以下代码拿到uid和eid吗,怎么回事undefined呢?,以及项目运行后界面也不正确,如何解决呢?还有其他错吗,如何解决呢?

相关代码:

 if(json.code=="0"){

                                sessionStorage.uid = json.data.user.userId;
                                sessionStorage.eid = json.data.user.employeeId;
                                window.location.href = "/index.html";
                            }

以下是项目的网盘链接:
链接:https://pan.baidu.com/s/1BWBlckPcyTbgM2mVMOHkhw
提取码:9xdd

正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

1回答
好帮手慕小蓝 2024-07-29 09:37:30

同学你好,如之前问答所说,老师不会再直接拉取同学的项目进行测试,而是根据报错信息给同学一些排查思路和解决方案,由同学自行解决。

从报错信息中可以看到,“uid=undefined&eid=undefined”,说明从前端发送的参数都是undefined,那么可以锁定问题原因在于js请求。

此时应当发送post请求前的参数,例如使用console.log查看一下“form.username”和“form.password”的值,从报错看,这里应该大概率就是undefined。如果确实是undefined,那么猜测form对象本身就有问题,需要查看“ const form = this.form;”是否获取正确。

如此往复,不断的从当前问题代码向前检查,直至发现问题。

当检查一遍之后,确实没有发现问题,可以先对照课程源码中的代码,逐行对比一下,看一下问题在哪。自己对比发现问题,比老师替同学对比发现问题,更能加深印象,未来工作中,遇到相同的问题时才能独立解决。

祝学习愉快~

  • 提问者 慕桂英5534918 #1

    用了console.log打印,json.data.user.userId和json.data.user.employeeId都有值,uid和eid为什么是undefined呢?

    2024-07-29 11:26:43
  • 提问者 慕桂英5534918 #2

    我在应用里看到了uid和eid的值,为什么还是undefined呢?

    2024-07-29 11:28:31
  • 好帮手慕小蓝 回复 提问者 慕桂英5534918 #3

    同学你好,从同学代码中user_info命名中看,是下图的代码报错的,所以需要检查的是下图中的两个值:

    https://img1.sycdn.imooc.com/climg/66a70fd40902e5c509520586.jpg

    如果这两个值确实为undefined,则需要同学检查一下值的存入问题。
    如果不是这个位置的代码,建议同学提供一下完整的报错信息,不要只提供片段。另外可以提供一下报错位置的完整代码,不需要提供完整项目。

    祝学习愉快~

    2024-07-29 11:45:45
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
Java工程师 2024版
  • 参与学习       2020    人
  • 提交作业       1249    份
  • 解答问题       1203    个

2024重磅革新,超百小时内容豪华升级,加速提升高级技能与高薪就业竞争力 课程紧贴企业最新人才需求,历经7年持续迭代,帮助万名学子入行转行 从零起点到高阶实战,学习路径稳健顺滑,成就从小白到工程师高薪

了解课程
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师