未捕获的类型错误:无法读取未定义的属性(读取“替换”)
Posted
技术标签:
【中文标题】未捕获的类型错误:无法读取未定义的属性(读取“替换”)【英文标题】:Uncaught TypeError: Cannot read properties of undefined (reading 'replace') 【发布时间】:2021-11-03 04:09:55 【问题描述】:我在将播放器上传到服务器时出现此错误,因为它在本地可以正常工作。
让我解释一下,播放器本地显示正在播放的歌曲,即将播放的歌曲和已经播放的歌曲,但是在上传到服务器时出现以下错误: Uncaught TypeError: Cannot read properties在以下代码行中未定义(阅读 'replace' ),但我不完全明白为什么。我想知道你是否可以指导我完成这个项目并交付它,提前谢谢。
let song = data.currentSong.replace(/'/g, '\'');
currentSong = song.replace(/&/g, '&');
let artist = data.currentArtist.replace(/'/g, '\'');
currentArtist = artist.replace(/&/g, '&');
【问题讨论】:
我认为您的data.currentSong
或 data.currentArtist
未定义
但是web服务器和本地服务器有什么区别呢?在我的本地服务器上,也就是说,它在我的笔记本电脑上运行良好,但在网络服务器上却不行。
您从哪里获取/设置数据?你能分享那个代码吗
【参考方案1】:
在您的示例中,Uncaught TypeError: Cannot read properties of undefined (reading 'replace' )
仅在您的变量 song
和/或 artist
未定义时才会出现。
这意味着data.currentSong
或data.currentArtist
或两者都为您提供未定义的结果。
回答您的问题: Web 服务器和本地服务器之间可能存在一些差异。例如,有时本地服务器的 jQuery 版本与 Web 服务器不同。如果您可以共享负责获取数据的代码,则可以找到问题的确切来源。
【讨论】:
以上是关于未捕获的类型错误:无法读取未定义的属性(读取“替换”)的主要内容,如果未能解决你的问题,请参考以下文章
未捕获的类型错误:无法读取未定义的属性 toLowerCase
NextJS:未捕获的类型错误:无法读取未定义的属性(读取“属性”)