比较JQuery中的字符串不起作用

时间:2015-09-04 04:01:43

标签: javascript php jquery

好吧,这就是情况。我的php文件中有以下代码块,出于某种原因,无论何时检查数据,它都不接受。我已经打印出了数据的价值,而且确实已被接受了#34; (显然没有引号)。我是否以某种方式比较这些错误?在我的网站的另一部分运行基本完全相同的代码,它工作正常。

$(document).ready(function () {
    $("#sign").click(function () {
        jQuery.ajax({
            url: "loginConfirm.php",
            data: { // Correct
                username: $("#username").val(),
                password: $("#password").val()
            },
            type: "POST",
            success: function (data) {
                if ($("#username").val() === "") {
                    //Do nothin
                } else if (data === "accepted") {
                    alert("Here");
                    redirectSignIn();

                } else {
                    alert("There");
                    $("#signInTitle").html(data);

                }
            },
            error: function () {}
        });

    });
});

编辑:php代码我在下面的网址中调用

<?php
// The global $_POST variable allows you to access the data sent with the POST method
// To access the data sent with the GET method, you can use $_GET
$username = htmlspecialchars($_POST['username']);
$userpassword = htmlspecialchars($_POST['password']);

require_once("dbcontroller.php");
$db_handle = new DBController();
    $result = mysql_query("SELECT count(*) FROM loginInfo WHERE userName='" . $username . "' AND password='" . $userpassword . "'");
    $row = mysql_fetch_row($result);
    $user_count = $row[0];

    if($user_count>0) 
        echo "accepted";
    else 
        echo "denied";
?>

2 个答案:

答案 0 :(得分:0)

您无法在成功功能中验证if ($("#username").val() === "") {。为此,您可以在进行Ajax调用之前对其进行验证。

答案 1 :(得分:0)

我想在这里给出一些建议,首先你必须验证用户的输入,如果验证,那么你可以调用ajax。

然后你不需要在AJAX过程中检查用户名的值。

...一样

if($("#username").val() === "" && $("#passoword").val() === "")
{ 
     //AJAX call
}
else
{
    //alert to enter the valid inputs
}

希望你明白我的理念......