我正在尝试使用以下代码重定向到特定页面:
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。任何解决方案?
答案 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~%.:_\-=';
但是在你的情况下,你添加了单引号,这是错误的,你必须删除单引号。