通过AJAX POST传递信息

时间:2012-12-06 23:06:33

标签: php ajax forms post

我正在做这样的事情,我通过AJAX的帖子将变量传递给php脚本。它实际上是进入我的PHP并运行我的回声,但是当我打印$ _POST数组时它没有打印出来。

function ajaxFunction(data){
var ajaxRequest;  // The variable that makes Ajax possible!

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;
        }
    }
}

ajaxRequest.open("POST", "process.php", true);
ajaxRequest.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
ajaxRequest.setRequestHeader("Content-length", data.length);
ajaxRequest.setRequestHeader("Connection", "close");
// Create a function that will receive data sent from the server
ajaxRequest.onreadystatechange = function(){
    if(ajaxRequest.readyState == 4){
        //var data = array();
        //data = document.forms["order_form3"].getElementsByTagName("input");
    }
}

ajaxRequest.send(data); 

}

2 个答案:

答案 0 :(得分:1)

我建议使用像firebug这样的插件,甚至是Chrome或Firefox的内置功能,以查看已发送的内容以及发布请求中收到的内容。 ajax响应不会打印在屏幕上的某个位置,因为您可能会从“正常”的http POST请求到php页面。它将作为ajaxRequest对象的一部分返回,您可以从那里获取它以使用Javascript来“打印”它。

答案 1 :(得分:0)

似乎您需要对参数进行编码,调用您的函数确实会提交您的数据,但是它们未绑定到另一端的变量。我毫不奇怪PHP抛弃你的数据。

见这里:AJAX XMLHttpRequest POST