php - Codeigniter 重定向不使用 jQuery Mobile 更新 url

标签 php jquery codeigniter redirect jquery-mobile

我有一个登录 Controller ,它应该在用户有效时重定向到我的索引页面。重定向有效,但在索引页面上,url 仍然是验证方法的 url:login/validate_login/。如果我单击索引页面上的链接,然后尝试返回浏览器历史记录,浏览器会将我指向验证方法而不是索引页面。

我该如何解决这个问题?

我尝试过将重定向与刷新和位置一起使用,但都没有成功。

我怀疑这是jQuery Mobile的ajax调用的问题,但我不确定。

感谢任何帮助。 亲切的问候

注意:我会在索引页上张贴 url 的图片,但不允许我这样做,因为我是新用户。

我的验证方法:

    function validate_login($controller='',$method='') {
    $this->load->library('form_validation');
    $this->load->model('workout_model');

    $this->form_validation->set_rules('ex_password','Koden','trim|required|min_length[4]|max_length[4]|callback_pw_check');


    if($this->form_validation->run() == FALSE) {
        $this->index();
    } else {
        if($query = $this->workout_model->validate()) {

            $data = array(
            'is_logged_in' => true,
            'user_id' => $query->id,
            'current_exercise' => '1'
            );

            $this->session->set_userdata($data);

            if($controller=='' || $method=='') {
                redirect("workout");
            } else {
                redirect($controller."/".$method);
            }
        } else {
            $this->index();
        }
    }
}

最佳答案

正确更新 URL 似乎需要两件事:使用 redirect(...) 而不是方法调用并禁用 jQuery Mobile ajax 调用。有两种方法:向最初指向您的方法的链接添加属性,

<a href='.../validate_login/...' data-ajax='false'>...</a>

或者,通过编辑设置(未测试)全局禁用 ajax 调用。

关于php - Codeigniter 重定向不使用 jQuery Mobile 更新 url,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12864013/

相关文章:

php - 使用 Web 服务访问 Dynamics CRM 2011

php - 如何通过 PHP 将 sql 字段中的扩展数字加载到选择选项元素中?

php - Unity 是否支持 PHP session ?

javascript - HTML 实体解码

javascript - Joomla - "Menu Item Type"弹出窗口为空

php - MySQL 数据透视行在 sql fiddle 中运行,但在语法模型 codeigniter 中不起作用

php - 不完全确定( Controller )转发在 Symfony 中是如何工作的

jquery - 如何绘制响应形状

php - 如何在 linux 服务器上安装和配置 ffmpeg?

jquery - 让 Uploadify 与 Codeigniter 一起使用?