Estoy usando jQuery 1.4.2 y estoy tratando de realizar una simple solicitud de AJAX. La URL objetivo devuelve una cadena JSON (la validé con jslint). La solicitud funciona en Firefox y Chrome, pero no quiere funcionar en IE8, y no puedo determinar por qué. Aquí está la llamada:jQuery AJAX solicita un error en IE8 con el mensaje 'Error: no se puede llamar a este método hasta que se haya llamado al método abierto.'
jQuery.ajax({
url: 'http://' + domain + '/' + 'helper/echo/',
dataType: 'json',
success: function(data) {
alert(data);
},
beforeSend: function(request, settings) {
alert('Beginning ' + settings.dataType + ' request: ' + settings.url);
},
complete: function(request, status) {
alert('Request complete: ' + status);
},
error: function(request, status, error) {
alert(error);
}
});
IE ejecutará la devolución de llamada beforeSend y la devolución de llamada de error. Las alertas de devolución de llamada de error con el mensaje:
Error: This method cannot be called until the open method has been called.
Mi respuesta cabecera regresa con Content-Type: text/javascript; charset=UTF-8
.
¿Qué está pasando con IE? Estoy ejecutando el servidor en localhost, haciendo una solicitud de http://localhost:8080/psx a http://localhost:8080/helper. Tal vez IE está bloqueando esta solicitud? Intenté instalar Fiddler para analizar el tráfico de solicitudes, pero no se ejecutará en mi máquina porque está bloqueado. Firebug me permite, pero todo parece estar bien allí.
Gracias por la ayuda!
Try 'asíncrono: false' e intentarlo de nuevo. –
Eso no tuvo un efecto, desafortunadamente. También debo mencionar que el estado de devolución de llamada de error es nulo. – checker