Я использую форму входа, на 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"}