2017-07-03 8 views
0

私は、GETリクエストを行うためにjQuery Ajaxを使用しています。時には完璧に動作しますが、クローム開発ツールのコンソールを見ると、他のときは403が禁止されます。これはサーバーの問題か自分のコードですか?サーバへのHTTP GETリクエストがときどきしか動作しない

サインインすると、サーバーから暗号化されたパスワード、ユーザー名、およびIDが返されます。私はそれをLocalStorageに保存します。なぜなら、私が働こうとしているリクエストは別のページにあるからです。また、AES暗号化を使用してこれらのフィールドからクライアントトークンを作成する必要があります。そのために、私はCryptoJSを使用しています。私の要求では、LocalStorageから検索されたパスワード、ユーザー名、ID、およびクライアントトークンを送信する必要があります。私はそれが良い方法ではないかもしれないが、私はサーバー側のコントロールを持っていないことを実現します。

編集:私は私の問題は、私は私の認証パラメータをエンコードURLする必要があることに気づいた

$("#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

'これはサービスの問題か私のコード? - はい、おそらくその2つのうちの1つ –

+0

私の 'ajax'呼び出しのコードを追加しました。 – ecain

答えて

1

:ここでサービスに私のAjax呼び出しがあります。私はencodeURIComponentを使ってこれを修正しました。

関連する問題