Solo en el proceso de pago y en las páginas de productos individuales recibo el siguiente error en el registro de la consola:
VM35594:1 Uncaught SyntaxError: Unexpected token u in JSON at position 0 at JSON.parse (<anonymous>) at run (layout.min.js:9) at app.min.js:1 at main.min.js:2 at Object.execCb (require.min.js:112) at Module.check (require.min.js:56) at Module.<anonymous> (require.min.js:72) at require.min.js:11 at require.min.js:74 at each (require.min.js:3)Estoy usando una extensión de pago de una página, pero cuando la deshabilito, el error aún se muestra. Pensé que podría tener algo que ver con las reseñas en la página del producto (ya que saqué las reseñas de las pestañas), pero deshacer ese cambio no solucionó el error en las páginas del producto.
Prueba esto en la consola:
JSON.parse(undefined)Esto es lo que obtendrá:
Uncaught SyntaxError: Unexpected token u in JSON at position 0 at JSON.parse (<anonymous>) at <anonymous>:1:6 En otras palabras, su aplicación está intentando analizar undefined , que no es un JSON válido.
Hay dos causas comunes para esto. La primera es que puede estar haciendo referencia a una propiedad inexistente (o incluso a una variable inexistente si no está en modo estricto).
window.foobar = '{"some":"data"}'; JSON.parse(window.foobarn) // oops, misspelled!La segunda causa común es la falla al recibir el JSON en primer lugar, lo que podría deberse a scripts del lado del cliente que ignoran los errores y envían una solicitud cuando no deberían.
Asegúrese de que tanto los scripts del lado del servidor como del lado del cliente se estén ejecutando en modo estricto y límpielos con ESLint . Esto le dará bastante confianza de que no hay errores tipográficos.
Como comentó @Seth Holladay @MinusFour, está analizando una variable undefined .
Intente agregar una condición if antes de realizar el análisis.
if (typeof test1 !== 'undefined') { test2 = JSON.parse(test1); }
Nota: Esto es solo una verificación de caso undefined . Cualquier otro problema de análisis aún debe ser manejado.
localStorage.clear()Eso borrará los datos almacenados. Luego actualice y las cosas deberían comenzar a funcionar.