Javascript 我的Ajax Post响应代码不工作?

Javascript 我的Ajax Post响应代码不工作?,javascript,php,ajax,Javascript,Php,Ajax,每次发出错误消息时。我不知道我的hr.status是错误的还是hr.ready是错误的,或者还有其他错误。我不太清楚这段代码有什么问题,我花了几个小时修改它,但没有用! 我通过html获取一个输入,并通过ajax POST将其发送到php。php应该将响应文本发送回。但它没有显示,而是说我的onreadystate函数中有一些错误 Javascript代码 <!DOCTYPE html> <html> <head>

每次发出错误消息时。我不知道我的hr.status是错误的还是hr.ready是错误的,或者还有其他错误。我不太清楚这段代码有什么问题,我花了几个小时修改它,但没有用! 我通过html获取一个输入,并通过ajax POST将其发送到php。php应该将响应文本发送回。但它没有显示,而是说我的onreadystate函数中有一些错误

Javascript代码

<!DOCTYPE html>
            <html>
            <head>
            <script>
            function ajax_get_json(){
            var results = document.getElementById("results");
            var hr = new XMLHttpRequest();
            var namee=document.getElementById("nam").value;
            var nams="fn="+namee;
            hr.open("POST", "marks.php", true);
            hr.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
            hr.onreadystatechange = function() {
            if(hr.readyState == 4 && hr.status == 200) {
            var data = JSON.parse(hr.responseText);
            document.getElementById("results").innerHTML = data;
            else
                    {alert("Error");}
            }
            }
            hr.send(nams);
            document.getElementById("results").innerHTML = "processing...";

            }
            </script>
            </head>
            <body>
            <form>
            Name:<input type="text" id="nam" name="sname"><br><!--My input-->
            <input type="submit" value="Submit" onclick="ajax_get_json();">
            </form>
            <div id="results"></div>
            </body>
            </html>
Every time the error message is alerted.I dont know if my hr.status is   wrong or hr.ready is wrong  or there is some other error.I cant quite figure what is the problem with this code I have spent Hours Modifying it but to no avail!!

函数ajax\u get\u json(){
var results=document.getElementById(“结果”);
var hr=新的XMLHttpRequest();
var namee=document.getElementById(“nam”).value;
var nams=“fn=“+namee;
hr.open(“POST”,“marks.php”,true);
hr.setRequestHeader(“内容类型”、“应用程序/x-www-form-urlencoded”);

hr.onreadystatechange=函数(){ 如果(hr.readyState==4&&hr.status==200){ var data=JSON.parse(hr.responseText); document.getElementById(“结果”).innerHTML=数据; 其他的 {警报(“错误”);} } } 人力资源部发送(nams); document.getElementById(“结果”).innerHTML=“处理…”; } 名称:
每次发出错误消息时。我不知道我的hr.status是错误的还是hr.ready是错误的,或者还有其他错误。我不太清楚这段代码有什么问题,我花了几个小时修改它,但没有用!!
PHP代码

   <?php
    $aa=$_POST['fn'];
    echo $aa;

    ?>

在else之前缺少a}。在hr.send上还有一个额外的}

if(hr.readyState == 4 && hr.status == 200) {
            var data = JSON.parse(hr.responseText);
            document.getElementById("results").innerHTML = data;
            }
            else
            {
                  alert("Error");
            }
            }
            hr.send(nams);
            document.getElementById("results").innerHTML = "processing...";

            }

只需在else之前添加“}”,在else之后删除“}”

document.getElementById(“结果”).innerHTML=data;hr.onreadystatechange=function(){if(hr.readyState==4&&hr.status==200){var data=JSON.parse(hr.responseText);document.getElementById(“结果”).innerHTML=data;}else{alert(“Error”);}}hr.send(nams);document.getElementById(“results”).innerHTML=“processing…”但现在它只显示processing…,然后显示错误消息。