Задать вопрос
@denisenki

XMLHttpRequest как получить данные из json?

Коллеги, подскажите пытаюсь сделать конвертер валют, есть json
{
"usd": 68
}

есть js
let inputRub = document.querySelector('rub'),
    inputUsd = document.getElementById('usd');
    console.log(inputRub);
    console.log(inputUsd);

    inputRub.addEventListener('input', () => {
        let request = new XMLHttpRequest();

        //постройка Ajax зарпоса
        //request.open(method, url, acync - по умолчанию true, login, pass);
        request.responseType =	"json";
        request.open('GET', 'current.json');

        //Метод работы с заголовками
        request.getResponseHeader("Content-Type", 'aplication/json', 'charset=utf-8');

        //Метод открывает соединение и делает запрос
        request.send(); 

        request.addEventListener('readystatechange', function() {
            if (request.readyState === 4 && request.status == 200) {
                //смотрим ответ от сервера
                console.log(request.responseText);

                let data = JSON.parse(request.response);
                console.log(data.usd);
                inputUsd = inputRub.value / data.usd;
            } else {
                inputUsd = 'Что-то пошло не так';
            }
        });
    });


и HTML
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <script src="test.js"></script>
    <label>RUB</label>
    <input id="rub" type="number" value="1">
    <label>USD</label>
    <input id="usd" type="text" >
</body>
</html>


но что-то не работает, пишет в консоли test.js:33 Uncaught DOMException: Failed to read the 'responseText' property from 'XMLHttpRequest': The value is only accessible if the object's 'responseType' is '' or 'text' (was 'json').
at XMLHttpRequest. (localhost:8888/test.ru/test.js:33:37)
запускаю все это на локальном сервере, что это за ошибка и как ее вылечить?
  • Вопрос задан
  • 1502 просмотра
Подписаться 1 Простой Комментировать
Пригласить эксперта
Ответы на вопрос 1
joeberetta
@joeberetta Куратор тега JavaScript
Читай: https://epdf.pub/google-for-dummies.html
Вам же ошибка прямым текстом говорит. На 33 строке json замените на '' или 'text'
Ответ написан
Ваш ответ на вопрос

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

Похожие вопросы