Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 09.11.2012, 19:10
Новичок на форуме
Отправить личное сообщение для AlterEgo Посмотреть профиль Найти все сообщения от AlterEgo
 
Регистрация: 09.11.2012
Сообщений: 3

Инструкции цикла не хотят работать.
Здравствуйте, собственно сабж. Использовал циклы для наполнения массива данными, но скрипт отказался работать. Консоль Хрома ругается на переменную i, в цикле while. Говорит - невозможно прочесть свойство неопределенного. Хотя переменную объявил заранее. (считаю что на переменную i, т.к. при изменении её значения в ошибке менялись заключённые в 'кавычках' значения)
Код:
TypeError: Cannot read property '0' of undefined
Непосредственно та часть скрипта в которой замечена ошибка:

$(document).ready(function DownloadPageText(){
    var url = Array ['index.php?id=15','index.php?id=14','index.php?id=32','index.php?id=16','index.php?id=17','index.php?id=18','index.php?id=19','index.php?id=20'];
    var i = 0;             
      while(i<9){                                       
      var request = new XMLHttpRequest();
      request.open('GET', url[i]);
      request.onreadystatechange = function(){if(request.readyState === 4 && request.status === 200){Text[i] = request.responseText}}
      request.send(null);
      i++;
    };
  }

Замечу что Хром не ругается на эту же часть кода, но без $(document).ready()

Последний раз редактировалось AlterEgo, 09.11.2012 в 19:15.
Ответить с цитированием
  #2 (permalink)  
Старый 09.11.2012, 19:30
Аватар для a_l
a_l a_l вне форума
Кандидат Javascript-наук
Отправить личное сообщение для a_l Посмотреть профиль Найти все сообщения от a_l
 
Регистрация: 15.09.2011
Сообщений: 143

alert(typeof url);​
Ответить с цитированием
  #3 (permalink)  
Старый 09.11.2012, 19:38
sinistral
Посмотреть профиль Найти все сообщения от melky
 
Регистрация: 28.03.2011
Сообщений: 5,418

Сообщение от AlterEgo
var url = Array ['index.php?id=15','index.php?id=14','index.php?id=32','index.php?id=16','index.php?id=17','index.php?id=18','index.php?id=19','index.php?id=20'];
это что за бред?
Ответить с цитированием
  #4 (permalink)  
Старый 09.11.2012, 20:11
Новичок на форуме
Отправить личное сообщение для AlterEgo Посмотреть профиль Найти все сообщения от AlterEgo
 
Регистрация: 09.11.2012
Сообщений: 3

да, согласен - бред, видно на автомате написал, привычка с паскаля)
можете тогда подсказать, как нужно доработать код, что бы он правильно записывал в массив Text полученные данные?
А то теперь он вместо обращения к адресам из массива url обращается к странице undefined
Извиняюсь за глупые вопросы)

Последний раз редактировалось AlterEgo, 09.11.2012 в 20:15.
Ответить с цитированием
  #5 (permalink)  
Старый 09.11.2012, 20:28
sinistral
Посмотреть профиль Найти все сообщения от melky
 
Регистрация: 28.03.2011
Сообщений: 5,418

как-то так. только не забывайте, что Text наполнится , когда данные придут.
var Text = [];

$(document).ready(function DownloadPageText () {

    var url = ['index.php?id=15','index.php?id=14','index.php?id=32','index.php?id=16','index.php?id=17','index.php?id=18','index.php?id=19','index.php?id=20'];
    var i = 0; 
            
    while(i < url.length){                  
                     
      var request = new XMLHttpRequest();

      request.open('GET', url[i]);

      request.onreadystatechange = (function (i) { 
        return function () { 
            if(this.readyState === 4 && this.status === 200){ 
                Text[i] = this.responseText;
            }
        };
      })(i); 

      request.send(null);
      i++;
    };
  }
Ответить с цитированием
  #6 (permalink)  
Старый 09.11.2012, 22:56
Новичок на форуме
Отправить личное сообщение для AlterEgo Посмотреть профиль Найти все сообщения от AlterEgo
 
Регистрация: 09.11.2012
Сообщений: 3

melky,Дзен-трансгуманист
Спасибо за помощь!
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Две функции не хотят работать в одном файле aDiVaNToS jQuery 17 30.06.2012 18:20
2 цикла не хотят работать одновремено TanTaL91 Общие вопросы Javascript 0 13.06.2010 11:23
как отобразить в окне значения счетчика во время выполнения цикла FOR Алекс97 Общие вопросы Javascript 5 06.09.2008 10:36