2017-07-03 72 views
0

我正在使用jQuery Ajax發出GET請求。有時候它可以很好地工作,但有時我看到chrome開發工具控制檯時會禁止403。這是服務器問題還是我的代碼?對服務器的HTTP GET請求只能偶爾工作

當我登錄時,我從服務器獲取加密的密碼,用戶名和ID。然後我將它存儲在LocalStorage中,因爲我試圖在另一個頁面上工作的請求。我還需要使用AES加密從這些字段中創建客戶端令牌。爲此,我使用CryptoJS。對於我的請求,我需要發送從LocalStorage檢索到的密碼,用戶名,ID和客戶端令牌。我意識到這可能不是一個好方法,但我沒有控制服務器端。

編輯:這是我的Ajax調用該服務:

$("#system-form").submit(function (e) { 
    $.ajax({ 
     type: "GET", 
     url: "myurl", 
     data: "User.Username=" + localStorage.getItem("guid") + "&User.Password=" + localStorage.getItem("password") + "&User.SecUser=" + localStorage.getItem("secUser") + "&ClientAppID=" + localStorage.getItem("ClientAppId") +"&"+ $(this).serialize(), 
    }) 
    .done(function(data) { 
     //parse data 
    }) 
    .fail(function (xhr, textStatus, error) { 
     console.log(JSON.stringify(xhr.responseText)); 
    }); 
    e.preventDefault(); 
}); 
+1

可能是[jQuery AJAX調用導致錯誤狀態403]的副本(https://stackoverflow.com/questions/36666256/jquery-ajax-call-results-in-error-status-403) – taha

+2

這是這個嗎?服務問題或我的代碼?' - 是的,可能是其中的一個 –

+0

我已經爲我的'ajax'調用添加了代碼。 – ecain

回答

1

我意識到,我的問題是,我需要URL編碼我AUTH參數。我通過使用encodeURIComponent來解決這個問題。