1
<html><head><title>Loses</title></head><body>

<script language="javascript" type="text/javascript">
function ajaxFunction() {
    var ajaxRequest;
    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;
            }
        }
    }

    // Receive data from the server to update div
    ajaxRequest.onreadystatechange = function(){
        if(ajaxRequest.readyState == 4){
            var ajaxDisplay = document.getElementById('ajaxDiv');
            ajaxDisplay.value = ajaxRequest.responseText;
        }
    }

    // Get the value from user.
    if (!target) target = document.getElementById("name");
    var queryString = "?name=" + escape(target.value);

    var url = "db.php" + queryString;

    ajaxRequest.open("GET", url, true);
    ajaxRequest.send(null); 
}
</script>

<form name="myForm">
    Victim: <input type="text" id="name" name="name"/> <br/>
    <br/>
    <input type="button" onclick="getLoses()" value="Show Loses"/>
</form>

<div id="ajaxDiv">Results:</div>
<br>

</body></html>

为什么这没有任何作用?

我已经在 apache 和 lightpd 下试过了。我没有收到任何投诉或错误,但它什么也没做。

如果我手动调用后端, db.php?name=Player1 它可以工作。所以它不能是 db.php 中的任何东西。上面的代码有问题,我只是不知道缺少什么。谁能帮我?

4

1 回答 1

0
  1. 您在单击按钮时调用函数 getLoses(),但没有这样的函数(名称为 ajaxFunction)
  2. if (!target) target = document.getElementById("name");

    没有可变目标,因此检查!target将导致脚本错误。
    从该行中删除if(!target)或将条件更改为:

    if (typeof target=='undefined' || !target)
于 2012-11-07T23:22:12.773 回答