尝试使用AJAX从PHP检索值

尝试使用AJAX从PHP检索值,php,javascript,html,ajax,Php,Javascript,Html,Ajax,这就是我正在尝试的。我试图调用函数trial,从PHP中检索值1到29,并在名为T1、T2…T29的文本输入框中显示结果 function calculate() { for (var i = 1; i < 30; i++) { trial(i); } } function trial(i) { if (window.XMLHttpRequest) { xmlhttp = new XMLHttpRequest(); }

这就是我正在尝试的。我试图调用函数trial,从PHP中检索值1到29,并在名为T1、T2…T29的文本输入框中显示结果

function calculate() {
    for (var i = 1; i < 30; i++) {
        trial(i);
    }
}

function trial(i) {
    if (window.XMLHttpRequest) {
        xmlhttp = new XMLHttpRequest();
    }
    else {
        xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
    }

    xmlhttp.onreadystatechange = function() {
        if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
            document.getElementById('T' + i).value = xmlhttp.responseText;
        }
    }


    xmlhttp.open("GET", "MANAGER/manager.php?rownum=" + i, true);
    xmlhttp.send();

    return;
}
函数计算(){
对于(变量i=1;i<30;i++){
审判(一);
}
}
功能试验(一){
if(window.XMLHttpRequest){
xmlhttp=新的XMLHttpRequest();
}
否则{
xmlhttp=新的ActiveXObject(“Microsoft.xmlhttp”);
}
xmlhttp.onreadystatechange=函数(){
if(xmlhttp.readyState==4&&xmlhttp.status==200){
document.getElementById('T'+i).value=xmlhttp.responseText;
}
}
open(“GET”、“MANAGER/MANAGER.php?rownum=“+i,true”);
xmlhttp.send();
返回;
}

它不起作用。您能提出一个解决方案吗?

问题是您正在全局声明变量
xmlhttp
,因此您正在覆盖每次迭代中的回调和所有内容。使用
var
关键字将其设置为本地。

您是否有完整的页面来显示所有内容以显示错误的位置?“它不工作”并不意味着错误。发布您收到的错误这是一个叫做jquery的东西。@Sam还有一个叫做常识的东西…如果
calculate()
正确迭代,我会加倍。首先使用
console.log(i)