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