我正在使用jQuery Ajax发出GET请求。有时它工作得很好,但有时候当我查看chrome dev工具控制台时,我会被禁止403。这是服务器问题还是我的代码?
当我登录时,我从服务器返回加密的密码,用户名和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();
});
答案 0 :(得分:0)
我意识到我的问题是我需要对我的auth参数进行URL编码。我使用encodeURIComponent
修复此问题。