2015-05-27 43 views
2

我有一個使用基本身份驗證的站點,訪問者可以使用預定義的憑據登錄。我可以達到$_SERVER["PHP_AUTH_USER"]變量,所以在這裏一切正常。 但是,當我試圖在同一個域中使用jQuery AJAX發佈數據時,我無法訪問$_SERVER["PHP_AUTH_USER"]變量(未在$_SERVER中設置)。PHP_AUTH_USER未在AJAX操作中設置

環境
服務器版本:阿帕奇/ 2.4.7(Ubuntu的)
PHP版本:5.5.9-1
Ubuntu的:4.9
(服務器API:Apache 2.0的處理程序,所以不CGI)
鉻:41.0.2272.76
的Ubuntu 14.04(64位)

任何人都可以幫助解決這個問題?

+1

也許你不參考同一屆會議?或者,也許第二個腳本不需要驗證? – arkascha

+0

「我無法達到」是什麼意思?空變量?是否有錯誤訊息? –

+0

$ _SERVER數組中不存在密鑰,沒有任何錯誤消息 – RobbeR

回答

0

隨着問候,評論說服務器會接受你的應用程序,如果你發送請求認證,因此你在Jquery Ajax方法中,並且通過getAllResponseHeaders()函數定義Dentrol方法的Autentification屬性,重要的一點是基本的認證方式使用JavaScript基地64(BTOA)來加密的用戶名和傳遞,我希望你覺得它有用,並邀請您訪問我的github上,enter link description here,有一些有用的ools內置到驗證數據的時候運氣

$.ajax({ 
     url : 'test_2.php', 
     type : 'GET', 
     beforeSend: function (xhr) { 
      xhr.setRequestHeader('Authorization', 'Basic ZWxlbWVudG86ZWxlbWVudG8='); 
     }, 
     data: {}, 
     success: function (e) { 
      console.log(e) 
     }, 
     error: function (e) { 
      console.log(e) 
     }, 
    });