Javascript 为什么这个Jquery登录代码行为不正常?

Javascript 为什么这个Jquery登录代码行为不正常?,javascript,jquery,api,authentication,phonegap,Javascript,Jquery,Api,Authentication,Phonegap,我创建了一个要在应用程序中使用的登录API,我正在PC浏览器上进行测试, 它会正确验证登录凭据,但不会重定向到指定的帐户 页面,它只显示成功消息 以下是我的jquery代码,应该用于处理登录: <script type="text/javascript"> jQuery(document).ready(function($) { $("#login").click(function(e) { $("#result").hide(); e.

我创建了一个要在应用程序中使用的登录API,我正在PC浏览器上进行测试, 它会正确验证登录凭据,但不会重定向到指定的帐户 页面,它只显示成功消息

以下是我的jquery代码,应该用于处理登录:

<script type="text/javascript">
    jQuery(document).ready(function($) {
      $("#login").click(function(e) {
      $("#result").hide();
       e.preventDefault();
        var luser = $("#username").val();
        var lpass = $("#password").val();
        $.post("https://example.com/app/login-api.php", {luser:luser, lpass:lpass}, function(data) {
        $("#result").show();
        if(data == "successok") {
                window.localStorage.setItem("username","luser");
                window.location.href = "index2.html";
            }
            else
            {
            $("#result").html(data);    
            }

        });
        return false;
      });
    });
  </script> 

jQuery(文档).ready(函数($){
$(“#登录”)。单击(功能(e){
$(“#结果”).hide();
e、 预防默认值();
var luser=$(“#用户名”).val();
var lpass=$(“#密码”).val();
$.post(”https://example.com/app/login-api.php“,{luser:luser,lpass:lpass},函数(数据){
$(“#结果”).show();
如果(数据==“成功确定”){
setItem(“用户名”、“luser”);
window.location.href=“index2.html”;
}
其他的
{
$(“#结果”).html(数据);
}
});
返回false;
});
});
登录API在正确的输入上回显“successok”,但在其他情况下回显错误消息。 根据上面的代码,我希望重定向到index2.html,但我得到的结果是result div上显示“successok”


可能有什么问题?

您希望通过ajax请求返回哪些数据?是xml、json、脚本、文本、, 还是html?也许你可以试试这个

$.post("https://example.com/app/login-api.php", {luser:luser, lpass:lpass}, 
function(data) {
            $("#result").show();
            if(data.trim() == "successok") {
                    window.localStorage.setItem("username","luser");
                    window.location.href = "index2.html";
                }
                else
                {
                $("#result").html(data);    
                }

            });
            return false;
      },'text');

你好你能分享你的login-api.php响应代码吗?可能是它有一些不需要的空间。如果(data.trim()=“successok”)是,谢谢。这是不必要的空间。仅供参考,出于这样的原因,以纯文本形式发送AJAX响应是个坏主意。改用XML或JSON等序列化格式,这样就不可能发生这种情况