Печать ответа Json в браузере - PullRequest
0 голосов
/ 30 сентября 2019

Я использую форму входа, на submit button, контроллер вызвал функцию и вызов ajax ответ, если ответ status = 1, то он покажет поле пароля пользователю, но вместо того, чтобы показывать поле пароля при успешной проверке, этопечать ответа JSON в окне браузера. Код и проверка в порядке. Я не могу понять, почему ответ json печатается в окне браузера: ниже мой код:

<form method="post" id="loginForm" class="Pwd" action="<?php echo URL::to('/login', 'authenticate', $this->getAuthenticationTypeHandle()) ?>" >

Контроллер:

public function authenticatecheck()
    {
        $app = Application::getFacadeApplication();
        $valc = $this->app->make('helper/concrete/validation');
        $session = $this->app->make('session');
        $session->remove('error');
        $config = $app['config'];
        $return_msg =array();
        if($_POST['uName'] != ''){
            // Email exist or not
            if (!$valc->isUniqueEmail($this->post('uName'))) {               
                $u = new User();
                $check_user_active = $u->checkuseractiveByUserEmail($_POST['uName']);
                if($check_user_active){
                    $user_id = $u->getuidByUserEmail($_POST['uName']);
                    //$company = $u->getByUserCompany($user_id); 
                    $company = $u->getByUserCompanyName($user_id); 
                    $c = explode('||' , $company);
                    $usergroup = $u->getUserGroup($user_id);
                    $usergroup_array = array();
                    foreach($usergroup as $value){
                        $usergroup_array[]=$value->gID;
                    }
                    $user_type = 'sponsor';
                    if (in_array(3, $usergroup_array))
                    {
                        $user_type = 'admin';  
                        $session->set('company_name_session', $c[0]);
                        $session->set('uName_session', $_POST['uName']); 
                        $session->set('view_all_session', true);  
                        $session->set('user_type', $user_type);
                        $return_msg=array('status'=>1,'msg'=>"User can access site",'company_name_session'=>$c[0],'view_all_session'=>true,'user_type'=>$user_type);
                        // echo json_encode($return_msg);exit;     
                        echo json_encode($return_msg);exit;       
                    }
}

Ниже ajax вызывается при проверке:

  $('#emailForm').validetta({
      bubblePosition: "bottom",
      bubbleGapTop: 5,
      bubbleGapLeft: -2,        
      realTime : true,
        onValid : function(event){
          $('.content').addClass('App_loading');
        event.preventDefault(); 
        var post_url = $('#emailForm').attr("action"); 
        var request_method = $('#emailForm').attr("method"); 
        var form_data = $('#emailForm').serialize();
        $.ajax({
            url : post_url,
            type: request_method,
            data : form_data,
            dataType: "json",
            success: function(response){
              console.log(response);
              if(response.status ==1){
                //location.reload(true);
                if(response.reg_status ==1){
                  $('#newPwd').removeClass('Pwd');
                }else{
                  $('#loginForm').removeClass('Pwd');
                }
                $('.passemail2').focus();
                $('#emailForm').addClass('Usr');
                $('.UsrName').val($('#txtEmail').val());


              }else if(response.status ==2){
                $.colorbox({
                  innerWidth:'500px',
                  innerHeight:'150px',
                  className: 'alert_overlay',
                  html:'<div class="alert_content"><h1>Daily Access</h1><p>'+response.msg+'<p></div>',
                  onOpen : function() {
                    //$('#colorbox.alert_overlay #cboxContent').append('<div id="cboxCloseCustom"><a class="btn" href="#no">No</a><a class="btn" href="#yes">Yes</a></div>');
                  },
                  onComplete : function(){
                    //$('.alert_overlay button#cboxClose').remove();
                    $('.alert_overlay #cboxClose').click(function(){
                        var win = window.open("about:blank", "_self");
                        var home_url = '<?php echo BASE_URL?>';
                        window.location = home_url;
                        win.close();
                    });                    
                  },
                  onClosed : function(){
                    $("#txtEmail").val('');      
                  }
                });                             
                $('.content').removeClass('App_loading');
              }else{
                $(".loginemaildiv").append('<span class="validetta-bubble validetta-bubble--bottom" style="top: 50px; left: -2px;">'+response.msg+'<br></span>');
                $('.content').removeClass('App_loading');
              }
            },
            error: function(e){
              console.log(e.responseText);
            }
        });
        }       
    });

Он печатает приведенный ниже ответ json в браузер:

{status: 1, msg: "User can access site", company_name_session: "test", view_all_session: true, user_type: "admin"}
...