【问题标题】:Bearer Token in ajax request header undefined.ajax 请求标头中的不记名令牌未定义。
【发布时间】:2019-04-11 00:31:45
【问题描述】:

这里我正在调用一个控制器方法 GetAccessTokenAsync,它返回一个 JSON 结果,其中包含来自 auth0 的访问令牌

function GetAccessToken() {
$.ajax({
    type: "GET",
    url: "https://localhost:44301/Account/GetAccessTokenAsync",
    contentType: 'json',
    dataType: 'json',
    success: function (data) {
        JSON.stringify(data)
    }
});}

这是控制器方法代码

 public async Task<JsonResult> GetAccessTokenAsync()
    {
        var accessToken = await HttpContext.GetTokenAsync("access_token");

        return Json(accessToken);
    }

这是我试图从上面的 ajax 调用中获取值到请求标头中的地方,但它一直返回未定义。但是,该调用确实包含正确的访问令牌,只是没有正确设置它

function GetAll() {
var accessToken = GetAccessToken();
$.ajax({
    type: "GET",
    contentType: 'json',
    dataType: 'json',
    crossDomain: false,
    url: "https://localhost:44348/api/v1/trialuser/1",
    beforeSend: function (request) {
        request.setRequestHeader("Authorization", "Bearer " + accessToken);
        request.setRequestHeader("Access-Control-Allow-Origin", "https://localhost:44301");
    },
    success: function (data) {
        $.each(data, function (key, item) {
            $('<tr>', { html: formatItem(item) }).appendTo($("#getAllTable"));
            $('#show').attr("disabled", true)
        })
    },

});}

还有其他人有这个问题吗?我对 jquery 和 ajax 调用的了解并不广泛,因此感谢任何示例

【问题讨论】:

    标签: jquery ajax auth0 bearer-token request-headers


    【解决方案1】:

    更改您的 GetAccessToken 方法以返回响应。

    function GetAccessToken() {
    $.ajax({
        type: "GET",
        url: "https://localhost:44301/Account/GetAccessTokenAsync",
        contentType: 'json',
        dataType: 'json',
        success: function (data) {
            return JSON.stringify(data)
        }
    });}
    

    【讨论】:

      【解决方案2】:

      您的函数 GetAccessToken() 不返回任何内容或设置任何全局变量。 因此,您从设置 accessToken = GetAccessToken() 的函数 GetAll() 调用该函数没有设置任何内容。

      要么在成功事件中返回某些内容,要么设置两个函数都可以访问范围的变量值。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2021-07-21
        • 1970-01-01
        • 1970-01-01
        • 2021-10-10
        • 2017-03-27
        • 2021-03-11
        • 2021-09-20
        相关资源
        最近更新 更多