13

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, '&');
3

2 Answers 2

15

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.

1
13

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.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.