0

我有通过 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); 

    }

} 

任何帮助表示赞赏。

4

1 回答 1

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);     
} 
于 2012-09-25T21:39:34.060 回答