2010-01-15 8 views
7

Sto eseguendo la seguente chiamata ajax jquery a un controller aspvc mvc che funziona, tuttavia sulla console firebug sembra essere eseguita per tre volte. Le prime due volte restituisce 401 Non autorizzato e l'ultima volta che restituisce 200 Ok. Qualcuno potrebbe far luce su ciò che sta accadendo quando faccio questa richiesta e su come potrei impedire che le chiamate iniziali falliscano.jquery chiamata ajax per l'applicazione asp.net mvc ottenendo due risposte non autorizzate quindi 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

Anche in precedenza ho visto questo su app .net. Sarei interessato a sapere cosa lo causa. –

+4

Mi sembra di ricordare che questo è il modo in cui Firefox/browser ha inviato la convalida: il primo 401 dice che è necessario validare, il secondo 401 è perché il browser invia la convalida errata e infine lo invia correttamente e ottieni il tuo 200. –

+0

Ho pensato che potesse essere così, ma c'è un modo in cui posso forzare questo ad autenticare correttamente la prima volta? Sto usando NTLM per l'autenticazione. – bobwah

risposta

2

ho notato questo stava accadendo a me quando ero debug in firefox. La soluzione che ho trovato era quella di aggiungere il sito all'elenco "network.automatic-ntlm-auth.trusted-uris" in firefoxs riguardo a: config.

Assicurarsi di includere la porta se il server di sviluppo locale causa problemi.

+0

Penso che questa risposta sia sulla strada giusta. Ho visto questi errori su Firebug quando l'applicazione asp .net utilizza l'autenticazione integrata di Windows. – Icarus

0

Difficile dire senza il contesto in cui viene eseguito. Cioè quando le esecuzioni sono finite, e perché escono tre volte.

Il fatto che venga provato fino a quando non viene ricevuto il 200 mi fa sospettare che si stia verificando una sorta di rety. Forse qualcosa non ha finito il caricamento?

Leggere l'errore 401 per vedere se questo fa luce su di esso per voi.

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

Problemi correlati