网站地图    收藏   

主页 > 后端 > thinkphp教程 >

ThinkPHP在控制器里的javascript代码不能执行解决方

来源:自学PHP网    时间:2014-11-28 23:17 作者: 阅读:

[导读] thinkphp在控制器里的网页特效代码不能执行解决方法,就拿“退出”这一项来说吧,我的“退出系统”链接是写到左边的框架里的,用js动态生成的。也就是说,没法通过链接里的target来指...

ThinkPHP在控制器里的javascript代码不能执行解决方法

thinkphp在控制器里的网页特效代码不能执行解决方法,就拿“退出”这一项来说吧,我的“退出系统”链接是写到左边的框架里的,用js动态生成的。也就是说,没法通过链接里的target来指定。

  1. view sourceprint?1 $this->assign('jumpurl',__url__.'/login');<br>$this->success("注销成功!");<br> 

这样写的话,要跳转的页面就显示在了右框架里了,把js代码写到url里面不行,我把这两行代码注释掉了。直接用:

  1. view sourceprint?1 echo "<script>window.top.location.href='$url';</script>"
这样也不行,一方面url里面没法用__app__这些常量,另一方面,最后执行出来的结果是竟是把<script>标签去掉,剩下的直接输出!

(window.top.location.href='index/login';),我查了action类里的success函数,没有找到相关的参数。

星期天在朋友那吃饭的时候,突然想到一个问题,tp里的标签都是以尖括号(<>)来包含的,我在控制器里写的<script>是不是被当作标签给解析了呢?于是我就重新写了第二段代码:

  1. view sourceprint?1 echo '<literal><script>alert("退出成功");top.location.href="login";</script></literal>'
这样就行了。

自学PHP网专注网站建设学习,PHP程序学习,平面设计学习,以及操作系统学习

京ICP备14009008号-1@版权所有www.zixuephp.com

网站声明:本站所有视频,教程都由网友上传,站长收集和分享给大家学习使用,如由牵扯版权问题请联系站长邮箱904561283@qq.com

添加评论