温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

ThinkPHP控制器里javascript代码不能执行的问题如何解决

发布时间:2021-07-02 16:53:51 来源:亿速云 阅读:201 作者:chen 栏目:开发技术

本篇内容主要讲解“ThinkPHP控制器里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控制器里javascript代码不能执行的问题如何解决”有了更深的了解,不妨来实际操作一番吧!这里是亿速云网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI