2014-02-24 248 views
4

我有一個jquery Ajax調用的存活實現會話,該的keepAlive()方法將每20分鐘jQuery的Ajax調用返回403個狀態

function keepAlive() { 
     $.ajax({ type: "POST", 
      url: "KeepAliveDummy.aspx", cache: false 
     }); 
    } 

此調用是當第三方內容加載發生調用在該框架,

我這個要求得到403種HTTP狀態(通過提琴手檢查), 將受此影響的最終結果刷新會話超時?

+2

HTTP狀態403是被禁止的,檢查其CORS問題 – Cris

+0

http://en.wikipedia.org/wiki/HTTP_403 –

+0

使用數據類型,且在的contentType你的Ajax調用是否..可能是它會幫助你的。 – social

回答

0

約403:

403禁止該請求是有效的請求,但該服務器是 拒絕響應它[2]。與401未經授權的回覆不同, 驗證將不會產生任何影響。[2]

它需要你在先調用ajax之前首先進行身份驗證(如登錄)。 401錯誤需要在請求時驗證標題字段,但403不需要。

檢查您的服務器或聯繫負責身份驗證的人員。

5

由於您的問題是關於處理403錯誤(這會影響刷新會話超時的最終結果嗎?)而不是403。

所以,處理這個錯誤,你可以登錄或通知。

$.ajax({ 
     type: "POST", 
     url: "KeepAliveDummy.aspx", 
     success: function (response) { 
      //session refreshed 
     }, 
     error: function (xhr, ajaxOptions, thrownError) { 
     if(xhr.status==403) { 
      //handle error 
     } 
     } 
    }); 
+1

這不起作用,因爲403將觸發「錯誤」和「完成」 - 它只是掛起。請參閱下面的Hungnh1704提供的參考資料:「服務器拒絕響應」。有誰知道如何處理403? – 10basetom

相關問題