ThinkPHP控制器里javascript代码不能执行的解决方法
投稿:shichen2014
这篇文章主要介绍了ThinkPHP控制器里javascript代码不能执行的解决方法,采用ThinkPHP的<literal>标签来解决javascript标签被解析的问题,是非常实用的技巧,需要的朋友可以参考下
本文实例讲述了ThinkPHP控制器里javascript代码不能执行的解决方法。分享给大家供大家参考。具体方法如下:
这里实例分析一下thinkphp在控制器里的网页特效代码不能执行解决方法,就拿“退出”这一项来说吧,我的“退出系统”链接是写到左边的框架里的,用js动态生成的。也就是说,没法通过链接里的target来指定。
复制代码 代码如下:
$this->assign('jumpurl',__url__.'/login');<br>$this->success("注销成功!");
这样写的话,要跳转的页面就显示在了右框架里了,把js代码写到url里面不行,我把这两行代码注释掉了。直接用:
复制代码 代码如下:
echo "<script>window.top.location.href='$url';</script>";
这样也不行,一方面url里面没法用__app__这些常量,另一方面,最后执行出来的结果是竟是把<script>标签去掉,剩下的直接输出!
复制代码 代码如下:
(window.top.location.href='index/login';)
我查了action类里的success函数,没有找到相关的参数。
后来突然想到一个问题,tp里的标签都是以尖括号(<>)来包含的,我在控制器里写的<script>是不是被当作标签给解析了呢?于是我就重新写了第二段代码:
复制代码 代码如下:
echo '<literal><script>alert("退出成功");top.location.href="login";</script></literal>';
这样就行了。
希望本文所述对大家的ThinkPHP框架程序设计有所帮助。
您可能感兴趣的文章:
- ThinkPHP里用U方法调用js文件实例
- jquery ajax结合thinkphp的getjson实现跨域的方法
- ThinkPHP中使用ajax接收json数据的方法
- ThinkPHP通过AJAX返回JSON的两种实现方法
- ThinkPHP模版中导入CSS和JS文件的方法
- THINKPHP+JS实现缩放图片式截图的实现
- 解析thinkphp中的导入文件标签
- 解析thinkphp import 文件内容变量失效的问题
- ThinkPHP实现多数据库连接的解决方法
- ThinkPHP框架实现session跨域问题的解决方法
- ThinkPHP自动验证失败的解决方法
- thinkPHP js文件中U方法不被解析问题的解决方法