【问题标题】:jQuery ajax php returns nothingjQuery ajax php 什么都不返回
【发布时间】:2015-11-18 02:27:00
【问题描述】:

我正在使用 jQuery ajax 和 php 制作一个注册系统。在我的脚本开始时,我进行了两次检查。我先检查用户名是否太长,然后检查用户名是否已被占用。 当我检查用户名是否已被使用时,php 脚本会返回一个值,但如果用户名太长,则不会返回任何内容。

代码(PHP):

$usernameR = $_REQUEST['username'];
if($usernameR > 8)
{
    echo "toolong";
}
else
{
    $passwordR = $_REQUEST['password'];
    require_once("dbConn.php");
    $usernameRSF = mysqli_real_escape_string($connect, $usernameR);
    $usernameRSF = htmlspecialchars($usernameRSF);
    $nQuery = mysqli_query($connect, "SELECT * FROM users WHERE username LIKE '%".$usernameRSF."%'") or die("Query error: ".mysqli_error($connect));
    $result = mysqli_num_rows($nQuery);
    if($result > 0)
    {
        echo "taken";
    }
}

代码(JS):

function register()
{
    $(document).ready(function()
    {
        var username = $("#usernameIn").val();
        var password = $("#usernameIn").val();
        if(username != "" && password != "")
        {
            $("#reError").text(" ");
            $("#reError").fadeOut("slow");
            $.ajax({
            url: "../system/register.php",
            type: "POST",
            dataType: "text",
            data: { username: username, password: password },
            success: function(ajaxResult)
            {
                alert(ajaxResult);
                if(ajaxResult == "taken")
                {
                    $("#reError").text("Username already exists");
                    $("#reError").fadeIn("slow");
                }
                if(ajaxResult == "toolong")
                {
                    $("#reError").text("Username too long");
                    $("#reError").fadeIn("slow");
                }
            }
            });
        }
        else
        {
            $("#reError").text("You can't leave username or password empty!");
            $("#reError").fadeIn("slow");
        }
    });
}

【问题讨论】:

    标签: javascript php jquery ajax return


    【解决方案1】:

    尝试改变,

    $usernameR = $_REQUEST['username'];
    

    到

    $usernameR = strlen($_REQUEST['username']);
    

    【讨论】:

      【解决方案2】:

      您必须比较字符串的长度,而不是字符串本身。

      strlen

      【讨论】:

        【解决方案3】:

        代替:

        if($usernameR > 8)
        

        用途:

        if(strlen($usernameR) > 8)
        

        【讨论】:

        • 我知道你的意思:)
        猜你喜欢
        • 1970-01-01
        • 2012-12-03
        • 2011-09-13
        • 2023-04-10
        • 1970-01-01
        • 2015-04-08
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多