Проблема в том, что данные json недоступны в функции calcInterest, которую невозможно выполнить, и нет выходных данных.
Это сообщение об ошибке:
Uncaught ReferenceError: jsonResponse не определен на странице calcInterest (script.js: 36) в XMLHttpRequest.request.onload (script.js: 29)
Цель этого приложения - выводить годовой отчетпроценты на основе введенного номера.Все это определяется данными json, которые должны сравнивать основную стоимость со значениями json, а затем определять процент каждый год.
Вот ссылка на проект.https://github.com/BKwingwa/Interestcalculator/tree/master/InterestCalculator3
Во всех исправлениях схожих проблем используется jQuery, и в этом проекте мне разрешено использовать только чистый JavaScript, так как намерение учителя - учиться без какой-либо основы.
I 'мы пробовали и XMLHttpRequest на основе w3schools, а затем пытались загрузить функцию внутри ответа, а также пытались использовать XMLHttpRequest на основе этого проекта
Хотя я до сих пор не могу показатьсяполучить данные json внутри функции, пытаясь набрать calculateInterest(jsonResponse)
в обоих этих различных xmlhttprequests.
window.onload = function()
{
var btn = document.getElementById('btnJson').addEventListener('click', loadJson);
var principal = document.getElementById('principal').value;
}
// ----------------------------- Описание того, что намерение этого приложения -----------------------------
// То, что должно быть выведено в HTML, представляет интерес в зависимости от числа во входных данных.// JSON решает, каким должен быть годовой интерес.Годовой процент предназначен для вывода.
function loadJson()
{
var requestURL = 'interest.json';
var request = new XMLHttpRequest();
request.open('GET', requestURL);
request.responseType = 'json';
request.send();
request.onload = function()
{
var jsonResponse = request.response;
calculateInterest(jsonResponse);
}
function calculateInterest()
{
if (principal >= jsonResponse[0].from && principal <= jsonResponse[0].up_to)
{
// return document.getElementById('paragraph').innerHTML = jsonResponse[0].interest;
console.log(jsonResponse[0].interest);
}
else if (principal >= jsonResponse[1].from && principal <= jsonResponse[1].up_to)
{
// return document.getElementById('paragraph').innerHTML = jsonResponse[1].interest;
console.log(jsonResponse[1].interest);
}
}
}
//var btn = document.getElementById('btnJSON').addEventListener('click', loadJson);
Ожидаемые результаты: в HTML должен быть указан процент, зависящий от числа во входных данных.JSON решает, каким должен быть годовой интерес.Годовой процент предназначен для вывода.
В настоящее время функция calcInterest вообще не работает, так как не выводит интерес к HTML в элементе абзаца, даже если синтаксис JSON кажется правильным.
Заранее спасибо!