Pregunta

En un sitio web que estoy construyendo, cuando inicia sesión (porque la base de datos está en otro servidor), uso Json relleno Para verificar si el usuario como las credenciales correctas.

Esta funcionando sin problemas (IE7, IE8 y FF), hasta que lo probé en Chrome, Safari y Opera donde es un completo desastre.

    $.ajax({
  type: "GET",
  dataType: "jsonp",
  url: "http://someurl.com",
  data: aRequestData,
  cache: false,
  error: function (XMLHttpRequest, textStatus, errorThrown) {
    // typically only one of textStatus or errorThrown
    // will have info
    alert("Error occured textStatus=" + textStatus + " errorThrown=" + errorThrown);
  },
  success: function(data) {
    alert('success');    
  }
});

Simple y simple y funciona en la ventana del navegador, sin embargo, para mi gran sorpresa, no funcionó en Chrome, Safari & Opera, nunca llegó a la alerta de éxito.

¿Alguien sabe cómo resolver este problema?

Gracias.

¿Fue útil?

Solución 2

¡El problema se dejó sobre el encabezado de la página HTML, en un "cuadro de grosor" (complemento de JQuery Blousbox) donde se realizó la llamada AJAX!

A Firefox o IE no les importa encabezados repetidos en ese caso, ¡pero el motor WebKit sí!

Solo tenía que quitar los encabezados adicionales, y todo volvió a las pistas.

¡Gracias a todos!

Otros consejos

¿Ha intentado usar las herramientas de desarrollador integradas para Safari y Chrome para verificar si obtiene una respuesta con el código de estado HTTP 200 de su solicitud?

En Chrome, puede acceder a estas herramientas en el menú 'Ver', elija la pestaña 'Recursos' para ver todas las solicitudes realizadas. Creo que necesitará activar estas herramientas en alguna configuración cuando use Safari.alt text

También puede intentar crear una versión sin jQuery para descartar errores cometidos allí, si no obtiene el estado 200 de sus llamadas, creo que jQuery fallará sin llamar a ninguna función de error, la documentación para usar JSONP con jQuery no es muy conciso con respecto a manejo de errores.

Cree un archivo HTML con una versión editada del siguiente contenido y cárguelo en sus navegadores:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
   <head>
      <title />
      <script type="text/javascript">
         function ws_results(obj) {
             alert(obj);
         }
      </script>
      <script type="text/javascript" src="http://someurl.com?foo=bar&amp;callback=ws_results" />
   </head>
   <body />
</html>
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top