【问题标题】:Post request through ajax doesn't appear to be working properly通过 ajax 发布请求似乎无法正常工作
【发布时间】:2012-09-25 21:32:25
【问题描述】:

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

    }

} 

感谢任何帮助。

【问题讨论】:

  • 我建议你使用 jQuery 并转储 ActiveX 代码。
  • 似乎没有工作”是什么意思?请描述任何错误(或者您的错误控制台是否记录了一些错误?)
  • 我同意。但在我这样做之前,我想更牢固地掌握 jquery - 我知道它更容易。或者,如果您能给我一个如何将上述 ajax 转换为 jquery 的示例,我可以使用它。
  • 我应该更清楚。没发生什么事。它只是不起作用。
  • 您不需要设置content-length 标头(甚至可能不允许?),这是自动完成的。

标签: javascript ajax forms post


【解决方案1】:

您的代码块似乎有问题。 .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);     
} 

【讨论】:

    猜你喜欢
    • 2014-11-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-09-04
    • 2012-05-06
    • 2013-02-17
    • 2017-10-09
    相关资源
    最近更新 更多