I am presenting this error when uploading the player to the server since locally it works fine.

Let me explain a bit, the player locally shows the song that is playing, the one that is coming and the one that has already played, but when uploading to the server I get the following error: Uncaught TypeError: Cannot read properties of undefined (reading 'replace' ) in the following lines of code but I don't exactly understand why. I would like to know if you can guide me on this to finish this project and deliver it, thanks in advance.

 let song = data.currentSong.replace(/'/g, '\'');
    currentSong = song.replace(/&/g, '&');

    let artist = data.currentArtist.replace(/'/g, '\'');
    currentArtist = artist.replace(/&/g, '&');

asked Sep 6, 2021 at 1:10

Diego Morejon's user avatar

Diego MorejonDiego Morejon

1651 gold badge1 silver badge6 bronze badges

3

I had the same error and I fixed it like this:

Before:

 localizeDate(date) {
   date = date.replace("T", "/");
   return date.replace(".000000Z", "");
 },

After:

localizeDate(date) {
  if(!date) return
  date = date.replace("T", "/");
  return date.replace(".000000Z", "");
},

The issue is that the function is called before any data loads from the server.

You could also fix it with Promises, async/wait or loaders.

Zach Jensz's user avatar

Zach Jensz

4,0766 gold badges17 silver badges31 bronze badges

answered May 9, 2022 at 9:48

Asyia's user avatar

AsyiaAsyia

1511 silver badge6 bronze badges

1

In your example Uncaught TypeError: Cannot read properties of undefined (reading 'replace' ) can occur only if your variables song and/or artist are undefined.

That means either data.currentSong or data.currentArtist or both of them getting you undefined result.

Answer to your question:
There could be some differences between the web server and the local server. For example, sometimes the jQuery version of local server is different than the web server. The exact source of the issue could be found, if you can share the code which is responsible to get you the data.

answered Sep 11, 2021 at 16:31

Fluent-Themes's user avatar

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.