codeigniter重定向()不工作
从/admin/login,我正在向/admin/doLogin发送jquery帖子codeigniter重定向()不工作,codeigniter,redirect,Codeigniter,Redirect,从/admin/login,我正在向/admin/doLogin发送jquery帖子 public function doLogin() { $this->load->model('admin_model'); $email = $this->input->post('email'); $password = $this->input->post('password'); $data['user'] = $this->a
public function doLogin()
{
$this->load->model('admin_model');
$email = $this->input->post('email');
$password = $this->input->post('password');
$data['user'] = $this->admin_model->do_login($email, $password);
if($data['user'] == true)
{
redirect(base_url().'admin/');
}
else
{
redirect(base_url().'admin/login');
}
}
现在,当$data['user']==true时,我将停留在admin/login页面。
在我的网络中,我看到/admin被加载,但我的页面没有刷新到它
我用codigniter重定向函数尝试了它,我还尝试了$this->index,我还尝试了回显javascript window.location.href,但没有任何效果。我总是停留在登录页面上。尽管我总是看到它们被加载到我的developerTool网络中。
有人有主意吗?是因为我在本地主机上吗?我再也不知道了
编辑:
您不需要
base\u url()
。您应该只使用重定向('your\u controller/controller\u function')
。而且,在AJAX请求中,PHP不会重定向到您,您必须在客户端执行此操作。您不需要base\u url()
。您应该只使用重定向('your\u controller/controller\u function')
。另外,在AJAX请求中,您不会被PHP重定向,您必须在客户端执行此操作。正如learn所说,您不能在AJAX模式下使用重定向。PHP脚本是通过Ajax调用的,不能使用PHP重定向
您必须使用Javascript回调:
public function doLogin()
{
$this->load->model('admin_model');
$email = $this->input->post('email');
$password = $this->input->post('password');
$data['user'] = $this->admin_model->do_login($email, $password);
echo ($data['user'] ? 1 : 0);
}
在你的JS中:
$.post(
'/index.php/admin/doLogin/',
{ email: email, password: password },
function(data) {
var redirect = data == 1 ? 'admin' : 'admin/login';
window.location.href = '<?php echo base_url() ?>'+ redirect;
}
);
$.post(
“/index.php/admin/doLogin/”,
{电子邮件:电子邮件,密码:密码},
功能(数据){
var redirect=data==1?'admin':'admin/login';
window.location.href=''+重定向;
}
);
如果PHP重定向,为什么要使用Ajax?正如learn所说,在Ajax模式下不能使用重定向。PHP脚本是通过Ajax调用的,不能使用PHP重定向 您必须使用Javascript回调:
public function doLogin()
{
$this->load->model('admin_model');
$email = $this->input->post('email');
$password = $this->input->post('password');
$data['user'] = $this->admin_model->do_login($email, $password);
echo ($data['user'] ? 1 : 0);
}
在你的JS中:
$.post(
'/index.php/admin/doLogin/',
{ email: email, password: password },
function(data) {
var redirect = data == 1 ? 'admin' : 'admin/login';
window.location.href = '<?php echo base_url() ?>'+ redirect;
}
);
$.post(
“/index.php/admin/doLogin/”,
{电子邮件:电子邮件,密码:密码},
功能(数据){
var redirect=data==1?'admin':'admin/login';
window.location.href=''+重定向;
}
);
如果使用PHP重定向,为什么要使用Ajax?我也尝试过,但没有成功。正如我所说,它似乎加载正确,但我的浏览器被卡在登录页面上。你能编辑你的帖子以显示你的javascript吗?我也尝试过,但没有成功。正如我所说,它似乎加载正确,但我的浏览器被卡在登录页面上。你能编辑你的帖子来显示你的javascript吗?你是对的,做ajax然后重定向是有意义的。我现在只是做一个普通的表单提交。你是对的,做ajax然后重定向是有意义的。我现在只是做一个普通的表格提交。