如何在CodeIgniter中重定向?

时间:2015-02-20 05:00:16

标签: javascript php jquery codeigniter

我正在尝试使用以下代码重定向到特定页面:

window.location.href="'<?php echo base_url() ?>'/index.php/user/view_cart/viewCart";

但是在网址中它被发送为

http://localhost/CI/index.php/user/view_available_books/viewAvailableBooks/'%3C?php%20echo%20base_url()%20?%3E%27/index.php/user/view_cart/viewCart

我的输出为

The URI you submitted has disallowed characters.

这是我的cuurent页面:

http://localhost/CI/index.php/user/view_available_books/viewAvailableBooks/

这是它重定向的方式:

http://localhost/CI/index.php/user/view_available_books/viewAvailableBooks/'%3C?php%20echo%20base_url()%20?%3E%27/index.php/user/view_cart/viewCart

它在重定向的同时获取当前页面的URL。任何解决方案?

3 个答案:

答案 0 :(得分:1)

从上述语句中删除single quotes

    <script>window.location.href="<?php echo base_url(); ?>/index.php/user/view_cart/viewCart";</script>

在Condigniter中,您可以使用UrlHelper类重定向页面。

    class MyController extends CI_Controller
    {
        public function index()
        {

        }

        public function aFunc()
        {
            $this->load->helper('url');
            redirect('/anotherController/action/', 'refresh');
        }

答案 1 :(得分:0)

JS文件无法处理PHP。相反,您可以尝试将此更改JS转换为PHP文件并尝试此操作:

从以下位置重命名您的js文件:

<script src="yourExternalJsFile.js"></script>

要:

<script src="yourExternalJsFile.php"></script>

在你的php文件中包含你喜欢这样的脚本:

<?php header("Content-type: application/x-javascript");?>
    window.location.href="'<?php echo base_url() ?>'/index.php/user/view_cart/viewCart";

答案 2 :(得分:0)

您可以在配置文件中存在的allowed_uri_chars中添加不允许的字符。 在cofig文件中

$config['permitted_uri_chars'] = 'a-z 0-9~%.:_\-=';

但是在你的情况下,你添加了单引号,这是错误的,你必须删除单引号。