因此,这是该登录系统第三天工作了整天,然后第二天我去使用它时,它就停止工作了。我没有在此页面上或与之相关的任何文件上工作,因此这确实没有任何意义。我非常沮丧。这是登录的jQuery代码。

$('#sign_in_form').submit(function (e) {
    var email = $('#email').val();
    var password = $('#password').val();

    $.post('sign_in.php', { email: email, password: password })
    .done(function(data) {
        if(data == 'FSI') {
            window.location = 'accounts.php';
        } else {
            $('#errors').text(data);
        }
    })
    .fail(function(jqXHR, status, error) {
        $('#errors').text(error);
     });
     e.preventDefault();
});


现在,#errors是一个div,位于您输入电子邮件和密码的上方。如果输入错误的信息,它将告诉您来自php文件的多个响应。好吧,如果您输入正确的信息,FSI将返回,您将被直接转到如图所示的帐户页面。好吧,现在#errors div中有一条消息说'FSI'。我很困惑,如果data =='FSI',那么它应该将用户定向到accounts.php,不是吗?
这很愚蠢,这段代码是如此简单,永远都不会失败。前天它有效,然后昨天停止,我必须输入e.preventDefault();。现在它是新的东西,我觉得明天可能会是另外一些东西。 Arg,感谢您的帮助,不胜感激。

最佳答案

空白会在这里杀死您。确保没有前导/后跟空格字符。尝试

if ($.trim(data) == 'FSI') {...}


也试试

console.log(data.length)

关于javascript - window.location不起作用jQuery,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/17899883/

10-12 06:47