Ajax 不返回值

ajax not returning value

本文关键字:返回值 Ajax      更新时间:2023-09-26

这是我遇到的一个问题。Ajax 不愿意向我返回任何值并将其显示在消息框中

这是我的注册.php

<?php
//register.php
$username   = $_POST['txtusername'];

$response= array();
$response[]= $_POST['txtusername'];
$response[]= $_POST['txtusername'];
echo json_encode($response); 
?>

我的表格如下

<div id="divregister">
    <div id="display"></div>
    <table>
        <tr>
            <td colspan="3" style='text-align: center;font-weight: bold;'>Register</td>
        </tr>
         <tr>
            <td style='text-align: right;'>First Name</td>
            <td class="registerinputfieldscolumn">
                <input value= "<?php if(isset($_POST['txtfirstname'])) {echo $_POST['txtfirstname'];} ?>" type="text" name="txtfirstname" id ="txtfirstname" ></td>
            <td class="registererrordisplay" id="registererrorfirstname"></td>
        </tr>
         <tr>
            <td style='text-align: right;'>Last Name</td>
            <td class="registerinputfieldscolumn">
                <input value= "<?php if(isset($_POST['txtlastname'])) echo $_POST['txtlastname']; ?>" type="text" name="txtlastname" id="txtlastname"></td>
            <td class="registererrordisplay" id="registererrorlastname"></td>
        </tr>
         <tr>
            <td style='text-align: right;'>E-Mail Address</td>
            <td class="registerinputfieldscolumn">
                <input value= "<?php if(isset($_POST['txtemail'])) echo $_POST['txtemail']; ?>" type="text" name="txtemail" id="txtemail"></td>
            <td class="registererrordisplay" id="registererroremail"></td>
        </tr>

        <tr>
            <td style='text-align: right;'>Username</td>
            <td class="registerinputfieldscolumn">
                <input value= "<?php if(isset($_POST['txtusername'])) echo $_POST['txtusername']; ?>" type="text" name="txtusername" id ="txtusername"></td>
            <td class="registererrordisplay" id="registererrorusername"></td>
        </tr>
        <tr>
            <td style='text-align: right;'>Password</td>
            <td  class="registererrordisplay"><input type="password" name="txtpassword" id="txtpassword"></td>
            <td  id="registererrorpassword"></td>
        </tr>
         <tr>
            <td style='text-align: right;'>Confirm</td>
            <td class="registerinputfieldscolumn">
                <input type="password" name="txtconfirmpassword" id="txtconfirmpassword"></td>
            <td></td>
        </tr>
        <tr>
            <td  id ="registerdisplay" style='text-align: right;font-size: 12px;color:red;'>dfghjkl</td>
            <td style='text-align: right;'>
                <input type='button' id ="btnregister" style='width: 60px;height:25px;margin-right:75px;' value="Register"></td>
            <td></td>
        </tr>
    </table>
</div>

这是 ajax 脚本如下。在警报框中没有得到任何响应。非常感谢您的任何帮助。

<script>
        $(document).ready(function(){
            $("#btnregister").click(function(){
                  $.ajax({
                    type: 'POST',
                    url: 'register.php',
                    dataType: 'text',
                    success: function(data) {alert(data);},
                    data: {"txtusername": $("#txtusername").val()}
                });

            });

        });
</script>
 data: {txtusername: sample}

您在哪里定义该"样本"变量?似乎它不存在,所以你实际上没有发送任何值。然后不返回任何内容,因为没有数据来创建响应。