在ajax单击事件后使用codeigniter刷新页面

时间:2014-09-02 21:27:11

标签: php jquery ajax codeigniter

我有以下php codeigniter函数代码,它由jquery ajax函数调用:

            $this->load->library('session');
            $this->load->helper('url');

              $ids = $_POST['i'];
              $message = $_POST['m'];
              var_dump($message);
              var_dump($ids);
              $sql = 'update replies set `response` = "'.$message.'" where id IN ('.implode( ',', $ids).')'; 
              echo $sql;
              R::exec($sql); // works normally to here


              redirect($this->uri->uri_string());

我想在数据库插入'message'后刷新页面。但似乎没有任何事情发生。一切正常,包括数据库插入。我做错了什么?

2 个答案:

答案 0 :(得分:1)

您无法通过AJAX网址重定向。使用回调函数可以重定向 三种方式,失败和永远。

示例:

$.ajax({
        url: '/path/to/file',
        type: 'default GET (Other values: POST)',
        dataType: 'default: Intelligent Guess (Other values: xml, json, script, or html)',
        data: {param1: 'value1'},
    })
    .done(function(url) { // echo url in "/path/to/file" url
        // redirecting here if done
        location.href = url;
    })
    .fail(function(url) { // echo url in "/path/to/file" url
        // redirecting here if failed
        location.href = url;
    })
    .always(function(url) { // echo url in "/path/to/file" url
        // redirecting here always
        location.href = url;
    });

答案 1 :(得分:0)

关于你的ajax成功,在显示成功消息后使用它

window.location="path_to redirect";

例如我正在重定向到成员控制器

window.location="member";

希望这有帮助。