2010-01-15 65 views
7

我正在執行以下jquery ajax調用一個asp.net mvc控制器的工作方式,但是在螢火蟲控制檯上它似乎正在執行三次。前兩次返回401 Unauthorized,最後一次返回200 Ok。任何人都可以在我提出此請求時瞭解發生的情況,以及我如何能夠阻止來自失敗的初始呼叫。jquery ajax調用asp.net mvc應用程序獲取兩個未經授權的響應然後確定

$.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

我也曾在.net應用程序上看過這個。我很想知道是什麼原因造成的。 – 2010-01-15 11:58:07

+4

我似乎還記得這是由Firefox /瀏覽器發送驗證所致:第一個401表示您需要有效,第二個401是因爲瀏覽器發送的驗證錯誤,然後最終它發送正確,並且您得到您的200. – 2010-01-15 12:18:34

+0

我認爲這可能是這種情況,但有什麼辦法可以強制這個第一次正確驗證?我正在使用NTLM進行身份驗證。 – bobwah 2010-01-15 12:31:58

回答

2

我注意到這是發生在我身上時,我在Firefox中調試。我發現的修補程序是將該網站添加到firefox中關於:config的'network.automatic-ntlm-auth.trusted-uris'列表中。

如果是本地開發服務器導致問題,請確保包含端口。

+0

我認爲這個答案是正確的。當asp.net應用程序使用集成的Windows身份驗證時,我在Firebug上看到了這些錯誤。 – Icarus 2011-09-03 15:52:06

0

很難說出它正在執行的上下文。即當執行完成時,以及爲什麼執行三次。

事實上,它正在嘗試,直到收到200,使我懷疑有一些rety正在進行。可能有些東西沒有完成加載?

請仔細閱讀關於401錯誤的內容,看看是否能爲您解決這個問題。

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

相關問題