首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >JQuery AJAX如果-否则不能工作

JQuery AJAX如果-否则不能工作
EN

Stack Overflow用户
提问于 2014-06-25 03:34:44
回答 3查看 3.3K关注 0票数 1

正如我所研究的,这个返回数据是“身份验证的”,这意味着if语句应该生效。但是,我不知道的原因是,它直接指向语句的其他部分,即使数据为真,数据也是假的。就像"authenticated"=="authenticated"。它忽略了if部分,我不知道为什么。

代码语言:javascript
运行
复制
function login_admin_user() {

    username = $("#ad-username").val();
    password = $("#ad-password").val();
    $("#button-login").val("Logging in...");

    $.post("ajax-login.php", {
        username: username,
        password: password
    }, function (data) {

        if (data == "authenticated") {
            /*  Execute if authenticated */
            $("#box-login-confirmed").fadeIn("slow", function () {
                $("#button-login").val("Login");
            })
                .delay(1000)
                .fadeOut(400, function () {
                window.location = "home.php";
            });

        } else {

            /*  Execute if invalid login */

            $("#box-login-error").fadeIn("slow", function () {
                $("#button-login").val("Login");
                $("#ad-password").val("");
            })
                .delay(3000)
                .fadeOut(400);

        }

    });
}
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2014-06-25 03:37:28

"authenciated"!="authenticated"。你错过了一个t‘。此外,您的响应可能包含空格。所以,在检查之前最好检查一下response.And中的内容--它更好地调整了您的响应。您可以使用jquery装饰函数删除空格。

试着像

代码语言:javascript
运行
复制
if($.trim(data) == "authenticated"){
  //Some code
}
else{
  //Some code
}

为什么响应包含空格。你可以在这里找到答案

  1. Ajax响应之前的空间(jQuery,PHP)
  2. 奇怪的是,ajax响应包括空格。
  3. Ajax响应中的尾部空格
票数 1
EN

Stack Overflow用户

发布于 2014-07-17 08:24:12

我也遇到过这个问题。从响应数据中使用$.trim()将有助于更改奇怪的空格。

票数 1
EN

Stack Overflow用户

发布于 2014-06-25 03:58:23

$.post方法的默认返回类型是HTML。因此,如果将返回类型设置为JSON,并且在PHP文件中将JSON编码的值返回为“身份验证”。也许能行

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24399747

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档