我已经阅读了尽可能多的内容,但完全被困在这里(它在一个阶段工作,但只有当我放入警报时 - ??)。我需要的:
- 用户将列表输入到文本区域。
- 文本区域读取到数组。
- 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>
提前致谢!