Неперехваченная ошибка типа: Не удается прочитать свойства неопределенного (чтение «заменить»)

#javascript #replace

Вопрос:

Я представляю эту ошибку при загрузке плеера на сервер, так как локально он работает нормально.

Позвольте мне немного объяснить, проигрыватель локально показывает воспроизводимую песню, ту, которая идет, и ту, которая уже сыграна, но при загрузке на сервер я получаю следующую ошибку: Ошибка типа «Не пойман»: Не удается прочитать свойства неопределенного (чтение «заменить») в следующих строках кода, но я точно не понимаю, почему. Я хотел бы знать, можете ли вы помочь мне в этом, чтобы закончить этот проект и выполнить его, заранее спасибо.

  let song = data.currentSong.replace(/amp;apos;/g, ''');
    currentSong = song.replace(/amp;amp;/g, 'amp;');

    let artist = data.currentArtist.replace(/amp;apos;/g, ''');
    currentArtist = artist.replace(/amp;amp;/g, 'amp;');
 

Комментарии:

1. Я думаю, что ваше data.currentSong или data.currentArtist не определено

2. Но какая может быть разница между веб-сервером и локальным сервером? На моем локальном сервере, то есть, он отлично работает на моем ноутбуке, но не на веб-сервере.

3. где вы получаете /устанавливаете данные? можете ли вы поделиться этим кодом

Ответ №1:

В вашем примере Uncaught TypeError: Cannot read properties of undefined (reading 'replace' ) это может произойти только в том случае, если ваши переменные song и/или artist не определены.

Это означает data.currentSong , что один data.currentArtist или оба из них дают вам неопределенный результат.

Ответ на ваш вопрос:
Между веб-сервером и локальным сервером могут быть некоторые различия. Например, иногда версия локального сервера jQuery отличается от версии веб-сервера. Точный источник проблемы можно было бы найти, если бы вы могли поделиться кодом, который отвечает за получение вами данных.