【问题标题】:How to get headers element in node js如何在节点js中获取标题元素
【发布时间】:2017-06-06 07:58:50
【问题描述】:

我想用 node js 在服务器端获取 headers 元素我在客户端尝试这两个代码:

代码 1

 var token = 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0ayI6IjU5Mjg0YjQ0MzNhNjU2MmRlNDI1ZGU5MCIsImlhdCI6MTQ5NjY5NjA1NiwiZXhwIjoyOTkzMzk1NzEyfQ.BQskPVT-h-Io4p3Hqraq2qRmVlp_pWAEw5rnIIEA4vk';
    $.ajax({
        url: 'YourRestEndPoint',
        headers: {
            'Authorization':'Basic' + token
        },
        method: 'POST',
        dataType: 'json',
        data: YourData,
        success: function(data){
          console.log('succes: '+data);
        }
      });

代码 2:

$.ajax({
         url: "http://localhost/PlatformPortal/Buyers/Account/SignIn",
         data: { signature: authHeader },
         type: "GET",
         beforeSend: function(xhr){xhr.setRequestHeader(                               
          'Authorization':'Basic' + token);
         },
         success: function() { alert('Success!' + authHeader); }
});

这里是代码服务器:

res.header("Access-Control-Allow-Origin", "*");
res.setHeader('Access-Control-Allow-Methods', 'GET, POST, OPTIONS, PUT, PATCH, DELETE');
res.header("Access-Control-Allow-Headers", "Authorization");

console.log(req.headers['authorization']);

我无法在服务器端获取令牌。

【问题讨论】:

  • 您的服务器代码中的req 定义在哪里?你能指定你从控制台得到的错误吗?
  • router.use(function(req, res, next) { ... console.log(req.headers['authorization']); ... }

标签: javascript node.js jwt


【解决方案1】:

在代码 1 中,您将 'Authorization' 作为标题中的属性名称。但是,在您的代码中,您 console.log 'authorization'

尝试两者的大小写相同。 如果大写是复制和粘贴的错误,请告诉我。

【讨论】:

  • > console.log(req.headers['Authorization']); >未定义
  • 我在控制台浏览器中遇到了这两个错误:>OPTIONS localhost:8181/users 403(禁止)>XMLHttpRequest 无法加载localhost:8181/users。预检响应包含无效的 HTTP 状态代码 403
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2016-02-26
  • 2022-12-17
  • 2012-10-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多