0

我试图通过单击一个按钮来运行 PHP 代码,但它似乎不起作用。我在 MAPM 服务器上运行它。

<html>
    <head>
    </head>
    <div onClick="count();">Click!</div>
    <script>
function count() {
    var xhr;
    if (window.XMLHttpRequest) {
        xhr = new XMLHttpRequest();
    } else {
        xhr = new ActiveXObject("Microsoft.XMLHTTP");
    }
    xhr.open('GET', 'count.php');
    xhr.send();
}​
    </script>

    </body>
</html>

在 PHP 文件 (count.php) 中,我们有以下代码:

<?php
Print "Hello, World!";
?>
4

2 回答 2

2

您需要您的页面来收听请求;

function count() {
    var xhr;
    if (window.XMLHttpRequest) {
        xhr = new XMLHttpRequest();
    } else {
        xhr = new ActiveXObject("Microsoft.XMLHTTP");
    }
    xhr.onreadystatechange =     function (){
    if(xhr.readyState == 4){
        if(xhr.status == 200){
            // WHAT HAPPENS ON SUCCESS
            alert(xhr.responseText);
        }else{
                alert('timeout error or something');
        }
        }
    };
    xhr.open('GET', 'count.php');
    xhr.send();
}​;
于 2012-06-17T09:49:16.037 回答
0

您需要传递null给如下send()方法(还要确保 URL 正确,我的直觉是它应该是“/count.php”):

xhr.send(null) // it's a GET request

有关详细教程,请查看此 MDN 文档https://developer.mozilla.org/en/AJAX/Getting_Started

于 2012-06-17T09:53:13.223 回答