Требование JWT-Decode не определено, jwt-декодирование не определено

#javascript #laravel #jwt #decode

#javascript #laravel #jwt #декодирование

Вопрос:

У меня проблема с использованием JWT-декодирования, которое, похоже, не может заставить это работать

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

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

при этом требуется

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

я уже установил jwt-decode в npm и также пытаюсь
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>


  

Ответ №1:

Сначала вам нужно загрузить библиотеку 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);
  

Комментарии:

1. привет @riajul когда я передаю декодированное оповещение, оно показывает [object object], но консоль. журнал работает нормально. в чем проблема с предупреждением js, спасибо

2. Решение работает отлично. консоль. журнал может отлично работать с объектом, но оповещение не может идеально работать с длинным объектом. хотя вы можете отображать любой элемент при оповещении, например, как alert (object.element), спасибо, жду вашего ответа: P

3. ПРЕДЛОЖЕНИЕ: никогда не используйте alert для отображения какого-либо объекта, просто используйте console. регистрируйте объект, массив или любые длинные данные. использование предупреждения для данных типа строки в одну или две строки

4. понял вашу точку зрения. но мне нужны данные для отображения в любой форме, такой как ввод текста, метка, идентификатор div и т.д. Есть ли другой способ? я попытался поместить это в div, используя getelementid и append, и на выходе тоже получается object object.

5. все еще object объект появляется при добавлении декодирования к div или идентификатору : (

Ответ №2:

require не определено в браузере. Вместо этого вам нужно будет включить файл библиотеки с помощью тега script. Вы можете получить файл библиотеки здесь.

Вы можете скопировать и вставить код оттуда в jwt-decode.js файл. Пример:

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

Комментарии:

1. привет, jro уже изменил мой код, но ошибка заключается в следующем: jwtDecode = require(‘jwt-decode’); Ошибка ссылки: требование не определено

2. Если вы работаете в браузере, вам нужно будет использовать теги скрипта для включения библиотеки. Если вы работаете в браузере, пожалуйста, укажите в своем вопросе

3. Обновленный ответ с помощью браузера env

4. требуемое все еще не определено, я теряю надежду на себя

5. @MichaelBenGabriel Вам следует удалить все требования из кода браузера