0

私はAJAXメソッドが初めてです。私はphpページによって処理されているいくつかの情報を投稿したい、それをpage.phpと呼びます

私のhtmlページに、このコードを入れました:

<script type="text/javascript" charset="utf-8">
//I have put the function getXMLHttpRequest() on a separate js file
function getXMLHttpRequest() {
    var xhr = null;

    if (window.XMLHttpRequest || window.ActiveXObject) {
        if (window.ActiveXObject) {
            try {
                xhr = new ActiveXObject("Msxml2.XMLHTTP");
            } catch(e) {
                xhr = new ActiveXObject("Microsoft.XMLHTTP");
            }
        } else {
            xhr = new XMLHttpRequest(); 
        }
    } else {
        alert("Votre navigateur ne supporte pas l'objet XMLHTTPRequest...");
        return null;
    }

    return xhr;
}

function request(callback) {
    var xhr = getXMLHttpRequest();

    xhr.onreadystatechange = function() {
        if (xhr.readyState == 4 && (xhr.status == 200 || xhr.status == 0)) {
            callback(xhr.responseText);
        }
    };

    xhr.open("POST", "page.php", true);
    xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
    xhr.send("name=proposition");
}

function postData(Data) {

    alert(Data);

}
</script>

<button onclick="request(postData);">...</button>

page.php にはメソッドがあります

protected function comment(){
//some code processing the posted infos (that works fine)...

//to debug, I have put a
echo('Hello world');

}

実際には、「Hello world」は表示されませんが、すべての Web ページ コードが表示された巨大な警告メッセージが表示されます。

誰にもアイデアがありますか?

ベスト、ニューベン

4

1 に答える 1

0

page.php で関数を定義していますが、決して呼び出していません。そして、意味をなさないため、protected キーワードを削除します (クラスを作成していません)。

試す

function comment(){
//some code processing the posted infos (that works fine)...

//to debug, I have put a
echo('Hello world');

}

comment();
于 2012-06-21T16:24:19.760 に答える