Este Error Alerta de Javascript se produce cuando el usuario llega al último paso en la comprobación de Magento en la página: la revisión de la orden. Cuando hacen clic en el enlace enviar, la página se carga a lo largo de unos segundos y después se expone un cuadro de alerta de Javascript con el mensaje «no definido». Esto no solo elimina la seguridad que un cliente tiene en su portal web, sino que verdaderamente impide que complete la adquisición. Esto quiere decir que estás perdiendo dinero y usuarios ! Lamentablemente, no hay una satisfacción genérica ligera para esto, pero, si se enseña la causa y una manera de detectar el error, va a poder sobrepasar esto por su cuenta.
Tabla de contenidos
Magento Onepage Checkout y Ajax
El pago y envío de Magento Onepage se distribuye en secciones: inicio de sesión; Dirección de Envio; Dirección de Envío; Procedimiento de envío; Datos de pago y revisión de pedido. Mientras el usuario avanza en cada parte, se envía una aprobación de Ajax a Magento con la información relacionada con la parte de hoy. Entre otras cosas, cuando un usuario presiona el enlace de seguir en la parte de facturación, se envía una aprobación de Ajax a Magento con la dirección de facturación del usuario. Esto activa un controlador Magento que almacena los datos en la cotización de ventas del usuario. Esto es servible porque si el usuario escoge volver por medio de su sitio y añadir algo más a su carrito (lo que siempre es bueno), no va a tener que volver a añadir su dirección de facturación. Si utiliza un monitor de tráfico de red, yo uso el complemento de Firefox Httpfox, puede ver cómo se envían estas solicitudes y se devuelven los datos.
El problema
Cuando se envía una aprobación de Ajax y se activa un controlador Magento, la salida se devuelve en la respuesta de Ajax. Si todo va bien, se devuelve una cadena JSON de manera correcta construida que comunica a la página de pago de la página si los datos se guardaron de manera correcta o no. Esto trabaja bien mientras que no haya fallos. Si se produce un error, el mensaje de error producido por Magento se etiqueta en la respuesta enviada. Cuando la comprobación de Magento en la página recibe esta respuesta, en vez de ver una cadena JSON de manera correcta construida que puede investigar, ve el error. Sin entender qué llevar a cabo con este error, Magento escupe el cuadro de alerta de Javascript indefinido.
Identificación de la causa del cuadro de alerta «indefinido» de Javascript
Hay un archivo que reside en su carpeta js dentro de su skin llamado opcheckout.js y tiene dentro la mayor parte de los Javascript que se usan para realizar la verificación en la página de Magento – skin / design / frontend / package / theme /js/opcheckout.js . Abra este archivo y busque alerta (msg) . Para mí esto está en la línea 779, no obstante, esto tiene la posibilidad de ser sutilmente diferente para usted. En este momento muchas personas sencillamente asume que puede comentar que la línea y el inconveniente desaparecerán, pero, lamentablemente, no poseemos tanta suerte. Modifique esa línea a lo siguiente:
alert(transport.responseText);
alert(msg);Vea la primera alerta, la que termina de añadir. Esto alerta a transport.responseText, el contenido enviado desde la respuesta de Ajax. Esto no solo incluirá el JSON producido que Magento espera, sino que además se insertará el mensaje de error, lo que supone que la respuesta es imposible investigar como datos JSON.
Mi error se encontraba relacionado con un módulo de puntos de recompensa que había instalado para un cliente. Deshabilité por un tiempo el módulo y pude llevar a cabo el checkout sin ningún inconveniente.
Conclusión
El error no definido por lo general es provocado por una fácil plantilla de Magento o error de modelo. Visto que el error se desencadene a lo largo de una aprobación Ajax hace difícil el rastreo y la depuración. Por suerte, continuar los pasos anteriores debería permitirle ver el mensaje de error en unos minutos. Magento podría sobrepasar de forma sencilla este inconveniente al registrar todas las respuestas Ajax con formato incorrecto en el desarrollo de pago y reenviarlas a una email específica.
Algunos consejos
- Una vez que haya localizado el error, asegúrese de remover la alerta de Javascript agregada que agregó a opcheckout.js!
- Si consigue hallar su error pero tiene inconvenientes para solucionarlo, por favor, publíquelo en los comentarios o envíeme un mail y haré todo lo viable para asistirlo a solucionar el problema