jquery 使用php和 AJAX 发布和获取数据时遇到问题

yyyllmsg  于 2022-11-03  发布在  jQuery
关注(0)|答案(1)|浏览(155)

我的 AJAX 代码:

$('#name').keyup(function() {
        var usercheck = $(this).val();
                $('#nameAvailability').html('<img src="../SPR/assets/img/loading.gif" width="300" />'); //this part is working
                $.post("../SPR/backend/username_availability_check.php", {user_name: usercheck} ,  
                function(data)
                {
                if (data.status == true)
                {
                $('#nameAvailability').parent('div').removeClass('has-error').addClass('has-success');

                } else {
                $('#nameAvailability').parent('div').removeClass('has-success').addClass('has-error');
                }
                $('#nameAvailability').html(data.msg); // not working
                } ,'json');

        });

我的php代码:

<?php
require("connection.php");
if(isset($_POST['user_name']) && $_POST['user_name'] != '')
    {
        $response = array();
        $username = mysqli_real_escape_string($conn,$_POST['user_name']);
        echo $username;
        $sql  = "select username from users where users.username='".$username."'";
        $res    = mysqli_query($conn, $sql);
        $count  = mysqli_num_rows($res);
        if($count > 0)
        {
            $response['status'] = false;
            $response['msg'] = 'Username already exists.';
        }
        else if(strlen($username) < 6 || strlen($username) > 15){
            $response['status'] = false;
            $response['msg'] = 'Username must be 6 to 15 characters';
        }
        else if (!preg_match("/^[a-zA-Z1-9]+$/", $username))
        {
            $response['status'] = false;
            $response['msg'] = 'Use alphanumeric characters only.';
        }
        else
        {
            $response['status'] = true;
            $response['msg'] = 'Username is available.';
        }
         echo json_encode($response);
         echo $response;
    }
?>

我在index.php中使用了session_start(),用户在输入字段中输入了他的用户名,id为“name”
我已经检查了给定的php代码,通过从数据库传递一个自定义的用户名来单独运行它,它工作正常。所以可能是 AJAX 代码有问题。

tyg4sfes

tyg4sfes1#

根据这里发布的内容,不可能知道您的客户端代码是做什么的。
但一般来说,为了调试和检查服务器端代码是否正常工作,请执行以下操作:
创建一个简单的表单,将其发布到PHP脚本中。

<form action="whateveryourphpcodeisnamed.php" METHOD="POST">
<INPUT TYPE="TEXT" NAME="user_name">
<INPUT TYPE="SUBMIT" VALUE="TEST THE USERNAME">
</FORM>

看看它对你说了什么。
请确保在开发期间激活error_reporting。

相关问题