对服务器的HTTP GET请求仅偶尔有效

时间:2017-07-03 22:31:02

标签: javascript ajax local-storage httprequest

我正在使用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(); 
});

1 个答案:

答案 0 :(得分:0)

我意识到我的问题是我需要对我的auth参数进行URL编码。我使用encodeURIComponent修复此问题。