Javascript 使用oath2检索身份验证代码的Ajax调用

Javascript 使用oath2检索身份验证代码的Ajax调用,javascript,ajax,oauth-2.0,Javascript,Ajax,Oauth 2.0,我正在使用一些API点设置来获取数据。我必须点击的第一个端点返回一个auth代码,该代码将被传递到calls头的其余部分 我似乎在使用ajax打第一个电话时遇到了问题,而且它与postman配合得很好。我不断收到错误,但没有消息 我的设置正确吗?它使用的是oauth2,我对此没有任何经验 一个jsfiddle示例 如果它在postman中工作,但在浏览器中不工作,则可能发生CORS错误。如果调用的请求方法是POST或选项,请在浏览器的开发工具中进行查看 如果动词是选项,您可能会收到一个没有响应正

我正在使用一些API点设置来获取数据。我必须点击的第一个端点返回一个auth代码,该代码将被传递到calls头的其余部分

我似乎在使用
ajax
打第一个电话时遇到了问题,而且它与
postman
配合得很好。我不断收到错误,但没有消息

我的设置正确吗?它使用的是oauth2,我对此没有任何经验

一个jsfiddle示例


如果它在postman中工作,但在浏览器中不工作,则可能发生CORS错误。如果调用的
请求方法
POST
选项
,请在浏览器的开发工具中进行查看

如果动词是
选项
,您可能会收到一个没有响应正文的错误,但您也会得到一个与CORS问题相关的登录控制台


如果错误与CORS相关,您必须将CORS策略添加到您的端点,并且在响应头中添加一个
Access Control Allow Origin
头,该头的值为前端所在的地址。

我认为您缺少一些数据,谷歌oAuth2,您将看到您需要传递授权类型(可能是密码)和客户端id。通过有效负载传递它们,我认为不应该通过头传递它们。类型也应该是PostType,您引用的是哪种API?参数“type”是“method”的别名,它应该类似于“post”或“get”。如果在客户端请求访问令牌,您应该知道自己在做什么,因为您将向任何有访问权的用户公开所有数据。@Verthosa,您的意思是在数据中传递它们?我正在使用postman来尝试和指导我(因为我没有问题通过那里取回身份验证代码),它有单独的授权类型字段以及用户名和密码。所以我假设它们不一样。我确实添加了补助金类型,但似乎没有帮助。我之所以选择oath2,是因为我尝试了一切。如果你看一下JSFIDLE,你会发现我把它作为一个帖子放在那里。@ju_,我正在使用一个内部api。如果您查看JSFIDLE,您将看到我的类型是post。我在这里的唯一不同之处是,我尝试了一切让它工作。你说的内部API是什么意思?您是否自己实现/集成了oauth服务器?如果您不提供信息,我们将无法提供帮助;-)浏览器也可能会阻止非https请求
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);
    }
 });