我是Web开发的新手,尤其是PHP,jQuery,AJAX ...

我试图让用户输入一个名称,然后将index.html将其发送到一个php文件,该php文件将其保存到一个名称文件,并使用网站上的status ID更改div元素。
我不知道问题所在,div元素的内部HTML保持“正在处理...”

index.html

<html>
<head>
<script>
function ajax_post(){
    document.getElementById("status").innerHTML = "processing...";
    $.post("server.php", { username: $("#userName").val() }, function(data) {
    $("#status").html(data);
    })
}
</script>
</head>
<body>
<h2>Ajax Post to PHP and Get Return Data</h2>
Username: <input id="userName" name="userName" type="text">  <br><br>
<input name="myBtn" type="submit" value="Check" onclick="ajax_post();"> <br><br>
<div id="status"></div>
</body>
</html>


server.php

<?php
if(!empty($_POST['username'])){
        $data = $_POST['username'];
        echo 'You are now registered,' . $data;
        $fname = "save.text";

        $file = fopen($fname, 'a');
        fwrite($file, $data . "\n");
        fclose($file);
}
?>


我以为我的$ .post语法错误,但是我不太了解。

最佳答案

试试这个,我已经执行了这段代码,它为我工作。

Index.html

<html>
<head>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
<script type="text/javascript">
function ajax_post(){
    document.getElementById("status").innerHTML = "processing...";
    console.log($("#userName").val());
    $.post("server.php", { username: $("#userName").val() }, function(data) {
    $("#status").html(data);
    })
}
</script>
</head>
<body>
<h2>Ajax Post to PHP and Get Return Data</h2>
Username: <input id="userName" name="userName" type="text">  <br><br>
<input name="myBtn" type="submit" value="Check" onclick="ajax_post()"> <br><br>
<div id="status"></div>
</body>
</html>


Server.php

<?php
if(!empty($_POST['username'])){
        $data = $_POST['username'];
        echo 'You are now registered,' . $data;
        $fname = "save.text";

        $file = fopen($fname, 'a');
        fwrite($file, $data . "\n");
        fclose($file);
}
?>

08-27 20:48
查看更多