Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

143
Vistas
TypeError no capturado: no se pueden leer las propiedades de undefined (leyendo 'reemplazar')

Estoy presentando este error al subir el reproductor al servidor ya que localmente funciona bien.

Me explico un poco, el reproductor muestra localmente la canción que está sonando, la que viene y la que ya sonó, pero al subir al servidor me sale el siguiente error: Uncaught TypeError: Cannot read properties of undefined ( leyendo 'replace' ) en las siguientes líneas de código, pero no entiendo exactamente por qué. Quisiera saber si me pueden orientar en esto para terminar este proyecto y entregarlo, gracias de antemano.

 let song = data.currentSong.replace(/'/g, '\''); currentSong = song.replace(/&/g, '&'); let artist = data.currentArtist.replace(/'/g, '\''); currentArtist = artist.replace(/&/g, '&');
about 4 years ago · Juan Pablo Isaza
2 Respuestas
Responde la pregunta

0

En su ejemplo Uncaught TypeError: Cannot read properties of undefined (reading 'replace' ) puede ocurrir solo si sus variables, song y/o artist , no están definidas .

Eso significa que data.currentSong o data.currentArtist o ambos obtienen un resultado indefinido.

Respuesta a tu pregunta:
Podría haber algunas diferencias entre el servidor web y el servidor local. Por ejemplo, a veces la versión jQuery del servidor local es diferente al servidor web. Se puede encontrar la fuente exacta del problema, si puede compartir el código responsable de obtener los datos.

about 4 years ago · Juan Pablo Isaza Denunciar

0

Tuve el mismo error y lo arreglé así:

Antes:

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

Después:

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

El problema es que la función se llama antes de que se carguen los datos del servidor.

También puede arreglarlo con Promises, async/wait o loaders.

about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda