0

我发送了一个 ajax 请求,它返回单词“false”或“用户名”。我让这个工作正常。成功时,它会将单词“false”或“用户名”放入 .body 类 div。我遇到的问题是我想检查“假”是否存在。这样我的密码字段可以禁用或取消禁用。事情是一切正常并经过测试。我的问题是,当我检查“假”时,它认为它作为 NULL 存在。无论 ajax 发出什么,它都是一种外部数据类型,虽然它可以在 html 中显示,但我似乎可以将它存储在一个变量中并检查“false”是否存在。

$(function () {

    $(".Guide_Welcome_Container").hide();
    $("#inputPassword").attr("disabled", "disabled");


    $("button").click(function () {
        $(".Guide_Welcome_Container").fadeToggle(1000);
        $(".HeaderLogin").fadeToggle(1000);
    });

    $("#inputEmail").keyup(function () {
        var UsernameInput = $(this).val();
        $.ajax({
            type: "POST",
            url: "PullUserDb.php",
            data: {
                'UsernameInput': UsernameInput
            },
            dataType: "html",
            success: function (data) {
                $('#BodyID').html(data);
                var GoodUsername = $("#BodyID").html();

                if (GoodUsername != "false") {
                    $("#inputPassword").attr("disabled", "disabled");
                } else {
                    $("#inputPassword").removeAttr("disabled");
                }
                //
            }

        });

    });

});
4

3 回答 3

1

在你的代码中

dataType: "html"

尝试 json 而不是 html :) 我使用这个结构

{success:true,message:'OK'}
于 2013-07-25T02:30:12.683 回答
0

$("#BodyID").html() //might contain some html too

尝试
console.log($("#BodyID").html());
在您的成功回调中查看它返回的内容

于 2013-07-25T02:28:47.090 回答
0

把它放在你的成功函数中(我假设你返回的是字符串'false',而不是布尔值,但如果我错了,换掉'false'false

if (data !== 'false') {
    // 1. put username on the page, like you do in the above code
    // 2. enable password field
} else {
    // disable password field
}

无需将其放在页面上,然后检查您在页面上放置的内容。您已经返回data对象中的用户名。

于 2013-07-25T02:35:57.613 回答