图片无法显示,并且出现 Uncaught (in promise) TypeError

图片无法显示,并且出现 Uncaught (in promise) TypeError

问题描述:

看到问题区有许多类似的问题,回答者似乎自己解决了... 但是没有留下解决方案。

图片无法显示,在浏览器出现 Uncaught (in promise) TypeError: Cannot read properties of undefined (reading 'data') at eval 。




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

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

1回答
只能卷了 提问者 2023-06-25 18:16:37

图片问题排查发现在浏览器中请求的IP地址是从后端数据库获取的,都不是本地ip。于是使用

UPDATE 表名
SET image = REPLACE(image, '111.231.103.117:8081', '127.0.0.1:8083')
WHERE image LIKE 'http://111.231.103.117:8081%';

对ip进行了替换。并且把课程的图片文件下载下来,把图片放到映射/image/**的文件夹下,图片显示就正常了。


但是依旧有 Uncaught (in promise) TypeError: Cannot read properties of undefined (reading 'data') at eval。

然后看了下后端的终端,出现了 org.springframework.data.redis.RedisConnectionFailureException: Unable to connect to Redis; 异常。于是重启了虚拟机,开启了Redis服务。再次刷新页面后一切正常。Uncaught (in promise) TypeError 就消失了。

但是我不理解为什么会有这个异常,之前都是用的Postman,我们在测试与Redis无关的接口时,直接启动SpringBoot应用完全不会报错,访问不会触及Redis操作接口也不会报错。

但为什么在前端项目启动之初就会触发这个错误呢?这个错误是怎么与后端Redis异常关联的(我们在后端没有写过相关处理Redis异常的逻辑,而且即使出现异常也应该被我们的ExceptionHandler截取了,返回给前端的应该是ApiRestResponse.error 呀)?(请老师解惑)

  • 同学你好,因在前端页面中需要展示分类内容,从而调用了分类接口(category/list)。如下所示:

    https://img1.sycdn.imooc.com//climg/649816510986f7dd12560568.jpg

    https://img1.sycdn.imooc.com//climg/6498161409fb069b14950283.jpg

    category/list接口有使用到redis,如下所示:所以当我们没有启动redis时就会出现异常。

    https://img1.sycdn.imooc.com//climg/649816b20945fd3308220208.jpg

    https://img1.sycdn.imooc.com//climg/649816be096bcd8b08110169.jpg

    祝学习愉快!

    2023-06-25 18:30:04
  • 提问者 只能卷了 回复 好帮手慕小尤 #2

    噢,是这样啊。因为没有获取到List数据,所以Cannot read properties of undefined (reading 'data') at eval 就报了undefined。这个应该是前端的某个变量用来接收后端的数据吧?

    2023-06-25 20:23:13
  • 好帮手慕小尤 回复 提问者 只能卷了 #3

    同学你好,是的。

    祝学习愉快!

    2023-06-26 09:31:11
问题已解决,确定采纳
还有疑问,暂不采纳

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

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

0 星
请稍等 ...
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号

在线咨询

领取优惠

免费试听

领取大纲

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