ajax запрос срабатывает только один раз из цикла

sunyang

Мастер
Регистрация
25 Апр 2009
Сообщения
440
Реакции
30
Есть несколько ячеек, которые нужно заполнить ихними айдишниками при загружке стараницы:
HTML:
<tr>
    <td id='votestatus1' onClick="vote('1')">стол 1</td>
    <td id='votestatus2'onclick="vote('2')">стол 2</td>
  </tr>

вот JS скрипт:

Код:
	for(var id = 1; id < 3; id++) { 
	function loadtd(id) {
	var req = getXmlHttp()  

req.onreadystatechange = function() {  
	if (req.readyState == 4) { 
	if(req.status == 200) { 
document.getElementById('votestatus'+id).innerHTML = req.responseText;
	}
	}
	}

req.open('GET', '2.php?id='+id, true);  
req.send(null);
document.getElementById('votestatus'  + id).innerHTML = 'загрузка...';
	}
	loadtd(id)
	 }

обработчик 2.php :

PHP:
$id = $_GET['id']; 
echo $id;

Но айдишником заполняется только первый элемент. Как быть? Как запустить запрос несколько раз?
 
C этим я разобрался. А как сделать, чтобы из обработчика 2.php передать параметр в 1.php не только из echo, но и из какой-нибудь переменной? Мне нужно возвратить обратно несколько значений сразу...
 
чтоб возвратить несколько значений, например возвращать не просто текст, а javascript. Тогда в файле 2.php будет возвращатся яваскрипт с двумя переменными
PHP:
echo "info='информация';count='5';";
дальше где было
Код:
if(req.status == 200){ 
    document.getElementById('votestatus'+id).innerHTML = req.responseText;
}
теперь надо перевести полученный текст в яваскрипт, это делает eval, после этого можно будет использовать переменные, так
Код:
if(req.status == 200){
    eval(req.responseText);
    document.getElementById('votestatus'+id).innerHTML = 'info:'+info+' count:'+count;
}
 
Назад
Сверху