AJAX和php POST问题

AJAX和php POST问题,php,javascript,Php,Javascript,我试图传递到一个PHP文件cellnumber。当我尝试时,我的AJAX甚至不起作用 警报(“测试”);在ajax.onreadystatefunction()中,它不会打印 每当有人单击表中的单元格时,就会调用我的javascript getrow(t)函数 结果是细胞变成绿色。我希望最终使用php将这些数据输入到postgres表中 谢谢你的帮助! 弗拉德 //获取行和列的编号 函数getRow(t) { var col=t.细胞指数; var row=t.parentNode.rowIn

我试图传递到一个PHP文件cellnumber。当我尝试时,我的AJAX甚至不起作用 警报(“测试”);在ajax.onreadystatefunction()中,它不会打印

每当有人单击表中的单元格时,就会调用我的javascript getrow(t)函数 结果是细胞变成绿色。我希望最终使用php将这些数据输入到postgres表中

谢谢你的帮助! 弗拉德


//获取行和列的编号
函数getRow(t)
{
var col=t.细胞指数;
var row=t.parentNode.rowIndex;
var testTable=document.getElementById(“testTable”);
t、 style.backgroundColor=“#33CC66”;
变量cellnumber=(行*15+col);
var ajax=new-XMLHttpRequest();
//使用ajax进入visitedCells
ajax.onreadystatechange=函数()
{
//当状态更改时调用函数。
if(ajax.readyState==4&&ajax.status==200)
{
open(“POST”,insertCoordinates.php,true);
send(cellnumber);
}
其他的
{
警报(“错误:+ajax.status+”和“+ajax.statusText”);
}
}
}
应该在ajax.onreadystatechange之外

就在
}//getRow

您实际上没有执行请求

应该是这样的:

var ajax = new XMLHttpRequest();
//use ajax to enter into visitedCells
  ajax.onreadystatechange = function() {//Call a function when the state changes.
  if(ajax.readyState == 4 && ajax.status == 200) {
       alert('success');    
  } else {
       alert("Error:" + ajax.status + "and " + ajax.statusText);
 }
}//onreadyState

ajax.open("POST", insertCoordinates.php, true);
ajax.send(cellnumber);    
try{
    // Opera 8.0+, Firefox, Safari
    ajaxRequest = new XMLHttpRequest();
} catch (e){
    // Internet Explorer Browsers
    try{
        ajaxRequest = new ActiveXObject("Msxml2.XMLHTTP");
    } catch (e) {
        try{
            ajaxRequest = new ActiveXObject("Microsoft.XMLHTTP");
        } catch (e){
            // Something went wrong
            alert("Your browser broke!");
            return false;
        }
    }
}
可能不会在IE中工作

应该使用这样的结构:

var ajax = new XMLHttpRequest();
//use ajax to enter into visitedCells
  ajax.onreadystatechange = function() {//Call a function when the state changes.
  if(ajax.readyState == 4 && ajax.status == 200) {
       alert('success');    
  } else {
       alert("Error:" + ajax.status + "and " + ajax.statusText);
 }
}//onreadyState

ajax.open("POST", insertCoordinates.php, true);
ajax.send(cellnumber);    
try{
    // Opera 8.0+, Firefox, Safari
    ajaxRequest = new XMLHttpRequest();
} catch (e){
    // Internet Explorer Browsers
    try{
        ajaxRequest = new ActiveXObject("Msxml2.XMLHTTP");
    } catch (e) {
        try{
            ajaxRequest = new ActiveXObject("Microsoft.XMLHTTP");
        } catch (e){
            // Something went wrong
            alert("Your browser broke!");
            return false;
        }
    }
}
但是最好的方法是使用jQuery…简单且安全