我正在使用任何api对网站进行编程。我正在Jquery中编写javascript并使用ajax发出请求。当有人向api发出请求时,我的身份验证有问题。他们从登录时获得一个令牌,他们应该用于身份验证。
var token;
var games;
function login() {
var email = document.getElementById("email").value;
var password = document.getElementById("password").value;
$.ajax({
type: 'POST',
url: 'http://localhost:5000/api/auth',
data: JSON.stringify({'emailAddress':email,'password':password}),
success: function(jtoken) {
token = JSON.stringify(jtoken);
},
contentType: "application/json",
dataType: 'json'
});
getGames();
}
这里我在用户登录时返回令牌,我稍后用它来验证其他请求。
function getGames(){
$.ajax({
type: 'get',
url: 'http://localhost:5000/api/user/me/game',
data: {api_token: token},
success: function(result){
games = JSON.parse(result);
},
contentType: "application/json",
dataType:'text'
});
这是我从json文件请求游戏但我只得到错误代码402。 编辑:我现在注意到第一个ajax请求正在运行两次。第一个给我代码204,然后是第二个200。它给了我一个未定义的令牌。为什么这样做?
答案 0 :(得分:0)
我认为你有时间问题:
在ajax登录有机会完成之前,正在调用getGames。相反,在成功函数中调用getGames,以便您知道auth已完成。
forEach()