嘗試在成功登錄後執行重定向。登錄信息使用ajax發送到控制器。登錄後在codeigniter中重定向
我的控制器代碼如下
public function login_controller_function()
{
$this->load->model('login_model');
if ($this->input->is_ajax_request())
{
$user_name=$this->input->post('username');
$user_password = $this->input->post('password');
$this->load->helper('url');
$result = $this->login_model->verify_user($user_name,$user_password);
// echo 'user_logged_in';
if(strcmp($result,'user_logged_in')==0)
{
redirect('welcome');
}
}
}
但它不工作。任何人都知道最新錯誤?
嗨,我的HTML請求。我使用Twitter的引導以及
<li class="divider-vertical"></li>
<li><a href="#" id="login_btn">Login</a></li>
<li><a href="<?php echo base_url('register'); ?>">Register</a></li>
的按鈕所以當我點擊登錄按鈕,模態窗口將出現,並要求登錄信息。
所以,當我登錄按鈕點擊,我的js代碼會發送一個Ajax請求
我的js代碼如下
/*Attempt register user jquery ajax*/
$('#login').click(function(){
var user_name = $('#loginHere').find('#user_name').val();
var user_password = $('#loginHere').find('#login_pwd').val();
if(user_name==""||user_password=="")
return;
var login_data = { username:user_name, password:user_password};
$.ajax({
type: "POST",
dataType: "json",
async: false,
url:"login_register/login_controller_function",
data: login_data,
success: function(data) {
if(data.login)
{
alert(data.redirect);
window.location.replace(data.redirect);
}
else if(!data.login)
{
alert('data login not true');
}
},
error:function(data){
alert('ajax error');
}
});
});
});
任何想法如何在ajax中重定向? msg =='success'時使用window.location.href。它不起作用 – edelweiss
它應該工作。你可以在javascript控制檯中得到錯誤。您應該在控制檯中爲您正在使用的瀏覽器獲取錯誤。請讓我們知道您正在使用哪個瀏覽器,以便我們可以幫助您獲取控制檯消息。 – Amitabh
我使用谷歌瀏覽器和開發人員工具作爲調試器。我沒有看到控制檯中的任何錯誤。 – edelweiss