私は、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();
});
おそらく、[jQuery AJAX呼び出し結果のエラーステータス403が重複する](https://stackoverflow.com/questions/36666256/jquery-ajax-call-results-in-error-status-403) – taha
'これはサービスの問題か私のコード? - はい、おそらくその2つのうちの1つ –
私の 'ajax'呼び出しのコードを追加しました。 – ecain