@Victorius13

Почему переменная JSON не читается вне основной функции?

Почему если писать document.write(); вне функции request.onload = function() то на странице ничего не появляется и в консоли ошибка "Uncaught SyntaxError: Unexpected end of JSON input
at JSON.parse ()".
<html>
  <head>
    <title>Страница</title>
  </head>
  <body>
    <script>
	var data;
	var p = 'Victorius19';
    var request = new XMLHttpRequest();
    request.open('GET', 'https://api.vime.world/user/name/' + p, true);
    request.onload = function() {
        data = JSON.parse(request.responseText);
		
		//document.write("<" + data[0].guild.tag + "> " + "["+ data[0].rank + "] " + data[0].username);
    ;
    request.send();
	
	document.write("<" + data[0].guild.tag + "> " + "["+ data[0].rank + "] " + data[0].username);
    </script>
  </body>
</html>

Заранее спасибо за ответ!
  • Вопрос задан
  • 115 просмотров
Решения вопроса 1
zendor
@zendor
Тут две ошибки. Во первых нет закрывающей фигурной скобки у функции, а во вторых это асинхронный запрос, поэтому в вас в data //undefined на момент вызова document.write().
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы