我的表单通过ajax管理的帖子发出请求。但是,它似乎根本不起作用。我知道php文件可以工作,因为我已经尝试过,而不是在中间使用ajax。
这是我的ajax请求:
function checkOut(params) {
var urlString = params;
if (window.XMLHttpRequest)
{// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
} else {// code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=function() {
if (xmlhttp.readyState==4 && xmlhttp.status==200) {
document.getElementById("test").innerHTML=xmlhttp.responseText;
}
//Setup for post submission
xmlhttp.open("POST","mockcheckout.php",true);
xmlhttp.setRequestHeader("Content-length", params.length);
xmlhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
xmlhttp.send(urlString);
}
}
感谢任何帮助。
答案 0 :(得分:2)
看起来您遇到代码块问题。 .open
,.send
应该在onreadystatechange
处理程序范围之外。
function checkOut(params) {
var urlString = params;
if (window.XMLHttpRequest)
{// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
} else {// code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=function() {
if (xmlhttp.readyState==4 && xmlhttp.status==200) {
document.getElementById("test").innerHTML=xmlhttp.responseText;
}
}
//Setup for post submission
xmlhttp.open("POST","mockcheckout.php",true);
xmlhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
xmlhttp.send(urlString);
}