通过ajax发布请求似乎无法正常工作

时间:2012-09-25 21:32:26

标签: javascript ajax forms post

我的表单通过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); 

    }

} 

感谢任何帮助。

1 个答案:

答案 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);     
}