Php codeigniter函数以不同的方式加载两页相同的函数调用

Php codeigniter函数以不同的方式加载两页相同的函数调用,php,ajax,codeigniter,Php,Ajax,Codeigniter,我在codeigniter中使用两种用户登录方式: 一种是通过键入类似以下localhost/mySite/login的url 另一个是当我单击localhost/mySite中的链接时出现的弹出对话框 在执行步骤2时,使用ajax请求调用函数。 这两次我调用相同的函数。但是当使用Ajax调用函数时,会加载一个额外的头 我为调用函数使用了以下代码 if ($this->input->is_ajax_request()){

我在codeigniter中使用两种用户登录方式:

  • 一种是通过键入类似以下localhost/mySite/login的url
  • 另一个是当我单击localhost/mySite中的链接时出现的弹出对话框
  • 在执行步骤2时,使用ajax请求调用函数。 这两次我调用相同的函数。但是当使用Ajax调用函数时,会加载一个额外的头

    我为调用函数使用了以下代码

    if ($this->input->is_ajax_request()){                                                                                                  
    
        echo json_encode(array('status'=>'success','url'=>'auth/enable_account'));
        exit();
    }
    else {
        redirect ( "auth/enable_account",'refresh');
    }
    
    我的jquery代码

    jQuery('#signin_form').submit(function(event) {
            var email = jQuery('#email').val();
            var password = jQuery('#password').val();
            var remember = jQuery('.dev_signin_remember').is(':checked');
            jQuery.ajax({
                url:baseurl+'auth/login',
                type:'POST',
                data:{'email':email,'password':password,'remember':remember},
                dataType:'json',
                success:function(data){
                    if(data.status == 'success') {
                        if(data.url != '') {
                            window.location.replace(baseurl+data.url);
                        }
                        else {
                            window.location.replace(baseurl+"auth/login");
                        }
                    }
                    else {
                        jQuery('.dev_signin_error').html('Invalid Username or password');
                    }
                }
            });
        setTimeout(jQuery.unblockUI);
    });
    

    您必须对url bacj进行json_编码到脚本,然后从browserI重定向。我已经添加了json_编码url。显示代码以便人们能够理解和更正请添加您的ajax代码。添加了发送ajax请求的jquery代码。