【发布时间】:2019-11-09 19:43:48
【问题描述】:
我正在使用一些 API 点设置来获取数据。我必须点击的第一个端点返回一个身份验证代码,该代码将传递到其余的调用标头中。
我似乎在使用ajax 打第一个电话时遇到问题,它与postman 配合得很好。我不断收到错误消息,但没有消息。
我是否正确设置了这个?它使用的是 oauth2,我对此没有任何经验。
一个jsfiddle示例https://jsfiddle.net/7f5dgn08/
var url = 'http://webaddress';
$.ajax({
type: "oauth2",
url: url,
cache: false,
async: true,
crossDomain: true,
headers: {
username: "username",
password: "pass"
},
dataType: "json",
success: function (data) {
localStorage.setItem('aCode', JSON.stringify(data))
},
error: function (jqXHR, exception) {
console.log(jqXHR.responseJSON);
}
});
【问题讨论】:
-
我认为你丢失了一些数据,谷歌 oAuth2,你会看到你需要传递 grant_type(可能是密码)和 client_id。通过有效负载传递它们,我认为您不应该通过标头传递它们。类型也应该是 POST
-
您指的是哪个 API?参数“type”是“method”的别名,应该类似于“post”或“get”。如果您在客户端请求访问令牌,您应该知道自己在做什么,因为您会将所有数据公开给任何有权访问的用户。
-
@Verthosa,您的意思是在数据中传递它们?我正在使用邮递员来尝试指导我(因为我没有通过那里取回身份验证代码),并且它具有用于授权类型的单独字段以及用户名和密码。所以我假设它们不一样。我确实添加了授权类型,但似乎没有帮助。我在这里使用 oath2 类型的唯一原因是因为我尝试了任何事情。如果您查看 jsfiddle,您会看到我将其作为帖子发布在那里。
-
@ju_,我正在使用内部 api。如果您查看 jsfiddle,您会发现我将类型作为 post 存在。我只是在这里有所不同,因为我正在尝试任何事情来让它发挥作用。
-
内部 API 是什么意思?您是否自己实现/集成了 oauth 服务器?如果您不提供信息,我们将无法提供帮助;-)
标签: javascript ajax oauth-2.0