2010-01-15 11 views
7

Estoy ejecutando la siguiente llamada jquery ajax a un controlador asp.net mvc que funciona; sin embargo, en la consola Firebug parece que se está ejecutando tres veces. Las dos primeras veces devuelve 401 no autorizado y la última vez que devuelve 200 OK. ¿Podría alguien arrojar algo de luz sobre lo que está sucediendo cuando hago esta solicitud y cómo puedo evitar que fallen las llamadas iniciales?jquery ajax call para asp.net mvc application obteniendo dos respuestas no autorizadas Ok

$.ajax({ 
    type: 'POST', 
    url: '/Core/GetVariableSet', 
    dataType: 'json', 
    data: {}, 
    success: function(response) { 
     thisObject.Date = new Date(response.Date); 
     thisObject.UserId = response.UserId; 
     thisObject.UserName = response.UserName; 
    }, 
    error: function(XMLHttpRequest, textStatus, errorThrown) { 
     Util.errorhandling.AJAXError($('#main'), 
         'Error Getting Variables', 
         XMLHttpRequest, 
         textStatus, 
         errorThrown); 
    } 
}); 
+0

También he visto esto en aplicaciones .net antes. Me interesaría saber qué lo causa. –

+4

Me parece recordar que esto se debe a la forma en que Firefox/navegadores enviaron la validación: el primer 401 dice que es necesario que sea válido, el segundo 401 es porque el navegador envía la validación incorrecta y finalmente la envía correctamente y obtiene su 200. –

+0

Pensé que este podría ser el caso, pero ¿hay alguna forma en que pueda obligar a que se autentique correctamente la primera vez? Estoy usando NTLM para autenticar. – bobwah

Respuesta

2

me di cuenta de lo que estaba sucediendo a mí cuando estaba depuración en Firefox. La solución que encontré fue agregar el sitio a la lista 'network.automatic-ntlm-auth.trusted-uris' en firefoxs sobre: ​​config.

Asegúrese de incluir el puerto si el servidor de desarrollo local está causando problemas.

+0

Creo que esta respuesta está en el camino correcto. He visto estos errores en Firebug cuando la aplicación asp .NET usa autenticación de Windows integrada. – Icarus

0

Difícil de decir sin el contexto en el que se está ejecutando. Es decir. cuando se realizan las ejecuciones, y por qué se excuta tres veces.

El hecho de que se intente hasta que se reciba el 200 me hace sospechar que hay algún tipo de conflicto. Posiblemente algo no ha terminado de cargarse?

Lea sobre el error 401 para ver si esto arroja alguna luz sobre él.

http://www.checkupdown.com/status/E401.html

Cuestiones relacionadas