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框架程序设计有所帮助。
相关推荐
-
thinkPHP js文件中U方法不被解析问题的解决方法
本文实例分析了thinkPHP js文件中U方法不被解析问题.分享给大家供大家参考,具体如下: 我想在js文件中写ajax, 写完发现异常, 本以为是js文件中不支持ajax 后来发现时地址解析错误. 也就是U方法在js文件中不被解析. 貌似thinkphp解析,tpl文件中的一些元素. js文件中的ajax function ajaxCheckTel(tel,id){ var res = ''; $.ajax({ type:"post", url:ajaxurl, // 地址解析有误
-
解析thinkphp中的导入文件标签
第一个是import标签 ,导入方式采用类似ThinkPHP的import函数的命名空间方式,例如: import标签(采用命名空间方式引入资源文件) 闭合 闭合标签 属性 file(必须):要引入的资源文件,支持变量 type(可选):引入的资源文件类型,默认为js,支持js css和php basepath(可选):命名空间的基础路径 示例:<import type='js' file="Js.Util.Array" />Type属性默认是js, 所以下面的效果是相同的
-
ThinkPHP里用U方法调用js文件实例
本文实例讲述了ThinkPHP里用U方法调用js文件的方法.分享给大家供大家参考.具体如下: 在TP里提供了在模板文件中直接调用函数的快捷方法.U是其中之一.手册里有它的用法: 复制代码 代码如下: {:U('User/insert' )} 先把js文件的后缀改成html(这个不会影响),然后写个JsAction,在里面进行调用: <?php class JsAction extends Action{ function nav() { $this->display('Index:js:nav
-
ThinkPHP框架实现session跨域问题的解决方法
ThinkPHP的session跨域问题很多开发者都遇到过! 其实不管是ThinkPHP还是php本身,在解决session跨域问题的时候都需要设置session.cookie_domain. 在ThinkPHP里,需要修改配置文件conf/config.php 在第一行加上: ini_set('session.cookie_domain', ".domain.com");//跨域访问Session 经过总结,针对session跨域这一问题的解决方法主要有以下几种: 第一种情况:如果你
-
ThinkPHP中使用ajax接收json数据的方法
本文实例讲述了ThinkPHP中使用ajax接收json数据的方法.分享给大家供大家参考.具体分析如下: 这里通过ThinkPHP+jquery实现ajax,扩展了下,写了个查询,前台代码如下: 首先需要引入jquery.js,主要代码如下: 复制代码 代码如下: function ajax(id,pic){ //由于ThinkPHP不解析JavaScript里的ThinkPHP常量,所以需要先在这里定义. var URL='__URL__'; $.ajax({
-
jquery ajax结合thinkphp的getjson实现跨域的方法
本文实例讲述了jquery ajax结合thinkphp的getjson实现跨域的方法.分享给大家供大家参考,具体如下: jquery中post的应该是不能跨域,网上说get的可以跨域,但是我试了一下也不行,然后就进行最后的拼搏getjson,结果成功,哈哈 js处写作: $.getJSON( "/index.php/Index/test", function(data){ alert(data.dd); } ); 语法: jQuery.getJSON(url,[data],[call
-
ThinkPHP通过AJAX返回JSON的两种实现方法
本文实例讲述了ThinkPHP通过AJAX返回JSON的两种实现方法.分享给大家供大家参考.具体方法如下: 方法一: php代码如下: 复制代码 代码如下: $arr = array( 'name'=>$picname, 'pic'=>$pics, 'size'=>$size ); $this->ajaxReturn (json_encode($arr),'JSON'); JS部分代码如下: 复制代码 代码如下: var d=eval('('+d+')');//json转成obje
-
ThinkPHP实现多数据库连接的解决方法
ThinkPHP实现连接多个数据的时候,如果数据库在同一个服务器里的话只需要这样定义模型: class MembersModel extends Model{ protected $trueTableName = 'members.members'; //数据库名.表名(包含了前缀) } 然后就可以像D("Members");这样实例化模型,像普通模型那样操作了. 但后来发现他的数据库在两个不同的服务器,这样上面的方法就不行了. 这时候就需要使用TP的多数据连接特性了. 对此,查阅官方
-
解析thinkphp import 文件内容变量失效的问题
用TP 集成支付宝账户绑定功能时碰上个问题ORM 下有文件 config.class.php直接import()后 发现里面的变量无法使用 但确实是加载咯..(在config.class.php输出内容成功)思考百度了半天..原来一直知道 JS 作用域 忽略了 PHP 函数也有作用域的- -具体原理: 复制代码 代码如下: <?phpclass b{ function test(){ myImport("a.php"); $testClass = new
-
THINKPHP+JS实现缩放图片式截图的实现
作者:杨鑫奇 原始链接:http://www.cnblogs.com/scotoma/archive/2010/03/05/1679477.html 今晚TP论坛的一位大哥加我了,说也遇到这个方面的问题,呵呵!想想其实很多东西都遇到了,是不是应该分享出来呢?其实自己的很多东西都是别人那来的,取之于网络用之于网络!只有大家多分享,才能够提高! 实现方式 上传图片 -- 保存并显示图片 -- JS获取缩略图参数 -- 提交位置参数 -- 图片缩放保存类处理图片 -- 保存截取的图片--更新数据库 -
-
ThinkPHP模版中导入CSS和JS文件的方法
本文实例讲述了ThinkPHP模版中导入CSS和JS文件的方法.分享给大家供大家参考.具体方法如下: 常用方法 1. css使用link 2. js使用src 用tp自己的导入标签import 导入Public文件夹下面的Js目录中的test.js文件,import标签可以省略type属性,默认就是js的文件 复制代码 代码如下: <import type='js' file='Js.test'> <import type='css' file='Css.test'> 不在Publ
-
ThinkPHP自动验证失败的解决方法
复制代码 代码如下: /* * 登陆 */ public function Login(){ if($_POST['submit']){ $DB = D('Login');//自定义Model处理 //if里面就是ThinkPHP的自动验证了. if(!$DB->create()){ $this->redirect('Index/Login', '', 3, '错误信息: '.$DB->getError().'<br/>系统将于3秒后返回重新登陆...'); }else{ $
随机推荐
- dojo学习第一天 Tab选项卡 实现
- Lua中的loadfile、dofile、loadstring、require用法实例
- 用AngularJS来实现监察表单按钮的禁用效果
- Android实现图片叠加效果的两种方法
- destoon实现不同会员组公司名称显示不同的颜色的方法
- android如何获取联系人所有信息
- mysql 创建root用户和普通用户及修改删除功能
- Can't connect to MySQL server on 'localhost' (10048)问题解决方法
- 使用requestAnimationFrame实现js动画性能好
- 用JS写的一个Ajax库(实例代码)
- js/jQuery简单实现选项卡功能
- 在Asp程序中取得表单所有内容的代码
- js实现文字选中分享功能
- 如何对PHP程序中的常见漏洞进行攻击(上)
- WordPress开发中用于获取近期文章的PHP函数使用解析
- Spring动态注册多数据源的实现方法
- JavaScript实现获取select下拉框中第一个值的方法
- 微信小程序仿RadioGroup改变样式的处理方案
- python 设置输出图像的像素大小方法
- 在react中使用vuex的示例代码