未捕获的类型错误:无法读取未定义的属性(读取“替换”)

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.currentSongdata.currentArtist 未定义 但是web服务器和本地服务器有什么区别呢?在我的本地服务器上,也就是说,它在我的笔记本电脑上运行良好,但在网络服务器上却不行。 您从哪里获取/设置数据?你能分享那个代码吗 【参考方案1】:

在您的示例中,Uncaught TypeError: Cannot read properties of undefined (reading 'replace' ) 仅在您的变量 song 和/或 artist 未定义时才会出现。

这意味着data.currentSongdata.currentArtist 或两者都为您提供未定义的结果。

回答您的问题: Web 服务器和本地服务器之间可能存在一些差异。例如,有时本地服务器的 jQuery 版本与 Web 服务器不同。如果您可以共享负责获取数据的代码,则可以找到问题的确切来源。

【讨论】:

以上是关于未捕获的类型错误:无法读取未定义的属性(读取“替换”)的主要内容,如果未能解决你的问题,请参考以下文章

未捕获的类型错误:无法读取未定义的属性“区域”?

未捕获的类型错误:无法读取未定义的属性 toLowerCase

NextJS:未捕获的类型错误:无法读取未定义的属性(读取“属性”)

错误:`未捕获(承诺中)类型错误:无法读取未定义的属性'doc'`

未捕获的类型错误:无法读取未定义的属性(读取“路径名”)

JQuery:未捕获的类型错误:无法读取未定义的属性“调用”