Как сохранить XML-файл в локальном хранилище и обновить значения, когда пользователь не в сети? - PullRequest
0 голосов
/ 03 февраля 2019

Я пытаюсь закодировать конвертер валют.Я загружаю XML-файл с URL, где хранятся валюты и курсы.Я хочу сохранить валюты в локальном хранилище, поэтому, когда пользователь находится в автономном режиме, он все еще сможет выполнять конвертацию.Я печатаю XML-файл в консоли, чтобы проверить, получаю ли я XML-файл.Итак, мой вопрос, как я могу хранить валюты и курсы в локальном хранилище, и как я могу обновить значения, когда пользователь снова в сети?javascript:

function display(e ) {
    if ((e.target !== e.currentTarget) && e.target.id !== "clear" && e.target.id !== "kati") {
        var clickedItem = e.target.id;
        document.getElementById("display").value =  document.getElementById("display").value + clickedItem;
    }
    else  if (e.target.id = "clear" && e.target.id !== "kati") {
        document.getElementById("display").value = null;
    } else if (e.target.id = "kati") {
        var ourRequest = new XMLHttpRequest();
        ourRequest.open('GET', 'https://devweb2018.cis.strath.ac.uk/~aes02112/ecbxml.php');
        ourRequest.onreadystatechange = function () {
            var data = ourRequest.responseText;
            console.log(data);
        };
        ourRequest.send();
    }
    e.stopPropagation();
}

URL-адрес для файла XML отображается в коде.

1 Ответ

0 голосов
/ 03 февраля 2019

Да, как уже сказал Крис, вы можете использовать localStorage по умолчанию:

localStorage.setItem("hello","world");
localStorage.getItem("hello"); //world

Например, после получения ответа

ourRequest.onreadystatechange = function () {
 if (ourRequest.readyState === 4) {
  if (xhr.status == 200){
   if (ourRequest.status == 200){
     var data = ourRequest.responseXML;
     var someTag = data.getElementsByTagName("someTag");
     //something like this
     localStorage.setItem("someTagValue",someTag[0].childNodes[0].nodeValue);
   }
  }    
};
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...