Добрый день, получаю от сервера данные вида
| Код | { "error" : 0, "quotes" : [ { "id" : 1, "text" : "Цитата 1"}, { "id" : 2, "text" : "Цитата 2"}, { "id" : 3, "text" : "Цитата 3"} ] }
|
Дальше их сохраняю в result
| Код | function getQuotes() { var xhr = new XMLHttpRequest(); xhr.open("GET", "url", true); xhr.setRequestHeader('Accept-Encoding', 'gzip');
xhr.onreadystatechange = function() { if (xhr.readyState == xhr.DONE) { if (xhr.status == 200) { var result = JSON.parse(xhr.responseText);
Производим какие либо действия ... } } xhr.send(); }
|
И допустим если я хочу вывести пользователю только "Цитата 1" и забыть об этом тто просто вместо "Производим какие либо действия ..." напишу
| Код | alert(result["quotes"][0]["text"];
|
Но я хочу что бы по нажатию кнопки выводилось сначала "Цитата 2" потом "Цитата 3" и так, сколько там этих цитат будет.
Пишу функцию
| Код | function alertNextQuote(id) { result["quotes"][id]["text"]; }
|
Которой мы будем передавать след. значение. Но это функция result наш не знала, не слышала о нем и слышать ничего не хочет. А переписать getQuotes по такому типу и подключаться каждый раз к серверу, помоему не очень хорошо, когда нам в первый раз уже отдали все цитаты/тексты. Вопрос, каким образом при вызове getQuotes сохранить наш ответ в какую нибудь глобальную переменную что бы потом с ней работать из любой другой функции? |