Я прочитал столько, сколько смогу, но полностью застрял здесь (работало ли это на одном этапе, но только если я включил оповещения - ??). Что мне нужно:
- Пользователь вводит список в текстовое поле.
- текстовая область считывается в массив.
- ajax-запросы к php-скрипту для каждого элемента в массиве.
- php скрипт затем запускает запрос mysql и возвращает результат в ajax.
- ajax затем создает новый элемент и заполняет его ответом.
Надеюсь, пользователь увидит, как создается список по мере получения результатов (таблицы довольно большие, поэтому ожидаем, что некоторые данные займут больше времени, чем другие).
Код до сих пор:
<script type="text/javascript">
function ajaxFunction(value){
var ajaxRequest;
try{
ajaxRequest = new XMLHttpRequest();
} catch (e){
try{
ajaxRequest = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
try{
ajaxRequest = new ActiveXObject("Microsoft.XMLHTTP");
} catch (e){
alert("Your browser broke!");
return false;
}
}
}
ajaxRequest.onreadystatechange = function(){
if (ajaxRequest.readyState == 4){
return ajaxRequest.responseText;
}
}
ajaxRequest.open("GET", "results.php?list=" + value, true);
ajaxRequest.setRequestHeader("Content-type","application/x-www-form-urlencoded");
ajaxRequest.send(null);
}
function loopAJAX() {
var box = document.getElementById("results-table");
box.innerHTML = "";
var vars = document.getElementById('list').value;
var varArray = vars.split("\n");
var len = varArray.length;
for(var i=0; i<len; i++) {
var text = ajaxFunction(varArray[i]);
var entry = document.createElement('p');
entry.innerHTML = text;
box.appendChild(entry);
}
}
</script>
Вывод должен быть таким:
<div id='results-table'><p>id1</p><p>id2</p></div>
В настоящее время вывод выглядит так:
<div id='results-table'><p>undefined</p><p>undefined</p></div>
Заранее спасибо!