PHP Ajax 登录,Ajax 登录成功后无法正常工作


PHP Ajax Login, Ajax not working after successful login

我有这个javascript。哪个正确登录我,但是在登录 AJAX 调用的成功回调中执行的 AJAX 调用未执行

$('.js-div-signin form').submit(function(){
    $form = $(this);
    $isValid = $(this).validate({
        rules: {
            email:'required email',
            password:'required'
        }
    });
    if($isValid.form()) {
        $data = {
            email:$('.js-input-email',$form).val(),
            password:$('.js-input-password',$form).val(),
            remember:$('.js-input-remember:checked',$form).val()
        };
        $('input', $form).attr('disabled','disabled');
        $.ajax({
            url:'/ajax/login',
            data:$data,
            type:'post',
            dataType:'json',
            success:function(res){
                if(res.type == 'success') {
                    /**
                     * This is the ajax call not working
                     */
                    $.ajax({
                        url:'/ajax/getheader',
                        dataType:'html',
                        success:function($html){
                            $('#header').html($html);
                        } error:function(a, b) {
                            console.log(a);
                            console.log(b);
                        }
                    })
                } else {
                    showError(res.message);
                    $('.js-input-password',$form).val('');
                    $('input', $form).removeAttr('disabled');
                    $('.js-input-password',$form).focus();
                }
            }, error:function(){
                showError('Email or Password incorrect');
                $('.js-input-password',$form).val('');
                $('input', $form).removeAttr('disabled');
                $('.js-input-password',$form).focus();
            }
        });
    }
    return false;
});

我在控制台中获取此日志,这意味着第二次 ajax 调用getheader 失败,但错误根本没有提供信息

> Object
Error

有什么想法吗?

我想这个错误可能与饼干或季节有关

由于我处于第一个阶段,未登录,我登录的通过 ajaxPHP 启动会话并创建 cookie 对吗?,但是这个会话或者 cookie 无法访问或不存在于我的当前页面(从那里我登录 ajax 调用)。

所以也许 php 阻止从未登录的页面(没有 cookie 或会话启动)获取登录部分(会话和 cookie 退出)的内容

这有什么意义吗?

提前感谢您的帮助

ajax 错误回调最多可以占用 3 个参数error(jqXHR, textStatus, errorThrown)记录最后一个将是相互干扰的,因为它将包含错误消息。

不确定你想做什么,但这对我来说看起来像是对链式函数的函数调用:

if($isValid.form()) {...}

但如果它有效,并且你正在拨打 Ajax 电话,我想没关系。

您的第二个 ajax 调用似乎在成功和错误处理程序之间缺少逗号,这可能就是您在控制台中没有获得任何相关内容的原因:

尝试:

$.ajax({
    url:'/ajax/getheader',
    dataType:'html',
    success: function(data){
        console.log(data);
        $('#header').html(data);
    },
    error:function() {
        console.log('error');
    }
});