API身份验证仅提供代码403

时间:2018-04-07 17:21:14

标签: javascript jquery api

我正在使用任何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。它给了我一个未定义的令牌。为什么这样做?

1 个答案:

答案 0 :(得分:0)

我认为你有时间问题:

在ajax登录有机会完成之前,正在调用getGames。相反,在成功函数中调用getGames,以便您知道auth已完成。

forEach()
相关问题