-2

我正在做这样的事情,我通过使用 AJAX 的帖子将变量传递给 php 脚本。它实际上正在进入我的 php 并运行我的 echo,但是当我打印 $_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); 

}

4

2 回答 2

1

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

于 2012-12-06T23:11:23.673 回答
0

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

见这里:AJAX XMLHttpRequest POST

于 2012-12-06T23:27:35.423 回答