【问题标题】:JWT- Decode require not defined, jwt decode not definedJWT-解码需要未定义,jwt解码未定义
【发布时间】:2019-08-01 10:16:50
【问题描述】:

我在使用 JWT 解码时遇到问题,似乎无法完成这项工作

var token = 'eyJ0eXAiO.../// jwt token';

var decoded = jwtDecode(token);
console.log(decoded);

有这个要求

var jwtDecode = require('jwt-decode');
enter code here

我已经 npm install jwt-decode 并尝试 jwt-简单

我只想以最简单的方式解码有效载荷

请帮帮我,这是我的代码

<script>

var jwtDecode = require('jwt-decode');
var token = 'eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ';

var decoded = jwtDecode(token);
console.log(decoded);

function myFunction() {
  alert(decoded);
}
</script>
<script src='/js/jwt-decode.js'></script>
<script>

        var jwtDecode = require('jwt-decode');
        var token = 'eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ';

        var decoded = jwtDecode(token);
        console.log(decoded);

        function myFunction() {
          alert(decoded);
        }
</script>


【问题讨论】:

    标签: javascript laravel jwt decode


    【解决方案1】:

    require 未在浏览器中定义。相反,您需要通过脚本标签包含库文件。可以获取库文件here

    您可以将那里的代码复制并粘贴到jwt-decode.js 文件中。 示例:

    <script src='./jwt-decode.js'></script>
    <script>
       const decoded = jwt_decode(jwtToken);
       console.log(decoded);
    </script>
    

    【讨论】:

    • 嗨,jro 已经更改了我的代码,但错误是这个 var jwtDecode = require('jwt-decode');引用错误:require 未定义
    • 如果您在浏览器中运行,则需要使用脚本标签来包含库。如果您在浏览器中运行,请在您的问题中指定
    • 用浏览器环境更新答案
    • required 还没有定义,我对自己失去了希望
    • @MichaelBenGabriel 您应该从浏览器代码中删除所有要求
    【解决方案2】:

    首先你需要下载库https://github.com/auth0/jwt-decode 然后只需使用

    <script src="js/jwt-decode.min.js"></script>
    
    var token = 'eyJ0eXAiO.../// your jwt token';
    var decoded = jwt_decode(token);
    console.log(decoded);
    

    【讨论】:

    • 嗨@riajul,当我通过解码以提醒它显示[object object]但console.log工作正常。 alert js 有什么问题,谢谢
    • 解决方案运行良好。 console.log 可以完美地与对象一起工作,但警报不能完美地与长对象一起工作。尽管您可以在警报中显示任何元素,例如 alert(object.element) 感谢等待您的支持:P
    • 建议:永远不要使用 alert 来显示任何对象,只使用 console.log 来显示对象、数组或任何长数据。警报用于一两行字符串类型数据
    • 明白你的意思。但我需要数据以任何形式显示,如文本输入、标签、div id 等。还有其他方法吗?我尝试使用 getelementid 和 append 将它放在一个 div 中,输出也是对象对象。
    • 将解码附加到 div 或 id 时出现静止对象对象:(
    猜你喜欢
    • 2016-05-24
    • 2020-04-25
    • 1970-01-01
    • 2021-07-10
    • 2019-02-26
    • 1970-01-01
    • 2016-03-19
    • 2021-05-13
    • 2021-12-30
    相关资源
    最近更新 更多