Estoy investigando el uso entre dominios de un servicio de dominio .NET WCF desde una aplicación html local (archivo: // acceso). La aplicación está utilizando jQuery para llamadas AJAX.jQuery.Ajax ¿Explicación de "acceso a URI denegado restringido"?
Sin autenticación (es decir, con autenticación anónima) en el servidor, he recuperado correctamente los datos en formato JSON con el encabezado CORS "Access-Control-Allow-Origin: *" en su lugar y en formato JSONP sin el encabezado.
Ahora trato de entender el comportamiento cuando la autenticación y el encabezado CORS están en su lugar con datos de formato JSON (no JSONP).
El siguiente código de jQuery enviará una solicitud al servidor, que a su vez responde con "HTTP/1.1 401 no autorizado".
$.ajax({
url: myUrl,
dataType: 'json',
cache: false,
complete: function() { /* do stuff */ },
timeout: 5000,
data: myData
});
El siguiente código de jQuery no hace una petición al servidor y lanza inmediatamente una excepción "Acceso a la URI restringido denegado", código 1012.
$.ajax({
url: myUrl,
dataType: 'json',
cache: false,
complete: function() { /* do stuff */ },
timeout: 5000,
username: "chris",
password: "password",
data: myData
});
entiendo y esperan que el primer caso. ¿Alguien puede explicarme la excepción en el segundo caso? Hubiera esperado que la solicitud se hiciera al menos.
Editar: Grrr, esto es en FF 10.0.2. Chrome parece actuar como espero, ¿entonces este es un problema de FF?
Me doy cuenta de que puedo detectar el error con una de las funciones de devolución de llamada jQuery.ajax, o usar una función de devolución de llamada con JSONP. ¿Eso es lo que quieres decir? Mi pregunta es realmente por qué (tal vez solo Firefox) no hace una solicitud y en su lugar genera un error en este escenario exacto. – Chris