2012-05-27 27 views
4

我想查看是否可以登錄到使用HTTP身份驗證的第三個站點。理想情況下,瀏覽器將存儲憑據。不幸的是,每次都失敗。任何幫助將非常感謝,我使用的base64 jquery插件,我已經測試的工作。JQuery中的跨站點HTTP身份驗證

於是,兩個問題:

  1. 我怎樣才能查看HTTP狀態代碼?
  2. 原則上這最終會起作用嗎?

<script> 
$("#login_button").click(function() { 
     var username = 'myFunUsername'; 
     var password = 'myFunPassword'; 

     $.ajax({ 
       url: 'http://remote-site-with-http-auth.com/member_site', 
       beforeSend: function(xhr) { 
         xhr.setRequestHeader("Authorization", "Basic " + $.base64.encode(username + ":" + password)); 
       }, 
       success: function(data) { $("#label").text("Logged in, yay!"); } 
     }).fail(function(){ $("#label").text("It didn't work"); }); 

}); 

謝謝!

+0

可能重複的[jquery的跨域認證](http://stackoverflow.com/questions/10769791/jquery-cross-domain-authentication) – jmort253

+0

您好B. VB,檢查那個鏈接。該操作試圖做同樣的事情,並在響應中缺少一些標題。祝你好運! – jmort253

+0

[訪問從jQuery的Web服務 - 跨域](http://stackoverflow.com/questions/2697557/accessing-web-service-from-jquery-cross-domain)可能是有用 – mc10

回答

2
var user= 'myFunUsername'; 
var pwd= 'myFunPassword'; 
     $.ajax({ 
       url: 'http://remote-site-with-http-auth.com/member_site', 
       crossDomain:true, 
       username :user,// Keep the variable name different from parameter name to avoid confusion 
       password:pwd, 
       xhrFields: { /* YOUR XHR PARAMETERS HERE */} 

       beforeSend: function(xhr) { 
         // Set your headers 
       }, 
       success: function(data, textStatus, xhr) { 
        alert(xhr.status);// The status code 
        //Code for success 
       } 
     }).fail(function(){ 
       //Fail code here 
       }); 

有關參數的更多細節請參考http://api.jquery.com/jQuery.ajax/