-2

私はこのようなことをしています.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); 

}

4

2 に答える 2

1

firebug のようなプラグインや、Chrome や Firefox の組み込み機能を使用して、投稿リクエストで何が送信され、何が受信されたかを確認することをお勧めします。ajax 応答は、「通常の」http POST 要求から php ページに送信されることを知っているかもしれませんが、画面のどこかに出力されません。これは ajaxRequest オブジェクトの一部として返され、そこから取得して Javascript を使用して「印刷」することができます。

于 2012-12-06T23:11:23.673 に答える
0

パラメータをエンコードする必要があるようです。関数を呼び出すとデータが送信されますが、もう一方の端の変数にはバインドされていません。PHPがデータを破棄するのは驚きではありません。

ここを参照してください:AJAX XMLHttpRequest POST

于 2012-12-06T23:27:35.423 に答える