DWZ+ThinkPHP开发时遇到的问题分析


Posted in PHP onDecember 12, 2016

本文实例分析了DWZ+ThinkPHP开发时遇到的问题。分享给大家供大家参考,具体如下:

目前我用的 thinkphp 版本是  3.1.3

J-UI  dwz 版本好像是 1.4

当我在项目开发的过程中 遇到了这么的一个问题,
当我我在后台执行ajax操作的时候,success,error不能成功的返回提示的信息,而是返回object object这样的一条错误提示。

研究了很久发现是版本的问题,新改版的ThinkPHP对DWZ中的Ajax技术中的一点不符合版本的问题

所以我就 更改  Action.class.php 中 ajaxReturn函数 为

protected function ajaxReturn($data,$type='') {
    if(func_num_args()>2) {// 兼容3.0之前用法
      $args      =  func_get_args();
      array_shift($args);
      $info      =  array();
      $info['data']  =  $data;
      $info['info']  =  array_shift($args);
      $info['status'] =  array_shift($args);
      $data      =  $info;
      $type      =  $args?array_shift($args):'';
    }
    //
    //较原版增加部分--
    $data['statusCode'] = 1; //
    $data['navTabId'] = $_REQUEST['navTabId'];//
    $data['rel'] = $_REQUEST['rel']; //
    $data['callbackType'] = $_REQUEST['callbackType']; //
    $data['forwardUrl'] = $_REQUEST['forwardUrl']; //
    $data['confirmMsg'] = $_REQUEST['confirmMsg'];//
    $data['message'] = $data['info']; //840206883@qq.com
    //较原版增加部分--
    //
    if(empty($type)) $type =  C('DEFAULT_AJAX_RETURN');
    switch (strtoupper($type)){
      case 'JSON' :
        // 返回JSON数据格式到客户端 包含状态信息
        header('Content-Type:application/json; charset=utf-8');
        exit(json_encode($data));
      case 'XML' :
        // 返回xml格式数据
        header('Content-Type:text/xml; charset=utf-8');
        exit(xml_encode($data));
      case 'JSONP':
        // 返回JSON数据格式到客户端 包含状态信息
        header('Content-Type:application/json; charset=utf-8');
        $handler =  isset($_GET[C('VAR_JSONP_HANDLER')]) ? $_GET[C('VAR_JSONP_HANDLER')] : C('DEFAULT_JSONP_HANDLER');
        exit($handler.'('.json_encode($data).');');
      case 'EVAL' :
        // 返回可执行的js脚本
        header('Content-Type:text/html; charset=utf-8');
        exit($data);
      default   :
        // 用于扩展其他返回格式数据
        tag('ajax_return',$data);
    }
}

希望本文所述对大家基于ThinkPHP框架的PHP程序设计有所帮助。

PHP 相关文章推荐
在线短消息收发的程序,不用数据库
Oct 09 PHP
用PHP实现小型站点广告管理
Oct 09 PHP
php Undefined index和Undefined variable的解决方法
Mar 27 PHP
判断是否为指定长度内字符串的php函数
Feb 16 PHP
PHP 观察者模式的实现代码
May 10 PHP
你可能不知道PHP get_meta_tags()函数
May 12 PHP
配置php.ini实现PHP文件上传功能
Nov 27 PHP
php上传中文文件名乱码问题处理方案
Feb 03 PHP
PHP输出缓冲控制Output Control系列函数详解
Jul 02 PHP
Linux+Nginx+MySQL下配置论坛程序Discuz的基本教程
Dec 23 PHP
php工具型代码之印章抠图
Jul 18 PHP
php实现大文件断点续传下载实例代码
Oct 01 PHP
php中引用&的用法分析【变量引用,函数引用,对象引用】
Dec 12 #PHP
简单谈谈PHP中的Reload操作
Dec 12 #PHP
php的laravel框架快速集成微信登录的方法
Dec 12 #PHP
php 遍历目录,生成目录下每个文件的md5值并写入到结果文件中
Dec 12 #PHP
php+ajax+json 详解及实例代码
Dec 12 #PHP
解决微信授权回调页面域名只能设置一个的问题
Dec 11 #PHP
Zend Framework数据库操作方法实例总结
Dec 11 #PHP
You might like
AJAX for PHP简单表数据查询实例
2007/01/02 PHP
PHP isset()与empty()的使用区别详解
2010/08/29 PHP
基于curl数据采集之单页面采集函数get_html的使用
2013/04/28 PHP
php多次include后导致全局变量global失效的解决方法
2015/02/28 PHP
分享PHP守护进程类
2015/12/30 PHP
php测试kafka项目示例
2020/02/06 PHP
获取HTML DOM节点元素的方法的总结
2009/08/21 Javascript
js 金额文本框实现代码
2012/02/14 Javascript
用Jquery实现滚动新闻
2014/02/12 Javascript
javascript替换已有元素replaceChild()使用介绍
2014/04/03 Javascript
js对字符的验证方法汇总
2015/02/04 Javascript
form+iframe解决跨域上传文件的方法
2016/11/18 Javascript
清除浏览器缓存的几种方法总结(必看)
2016/12/09 Javascript
Vue.js仿Metronic高级表格(一)静态设计
2017/04/17 Javascript
详细分析jsonp的原理和实现方式
2017/11/20 Javascript
vue 使用vue-i18n做全局中英文切换的方法
2018/10/29 Javascript
addEventListener()和removeEventListener()追加事件和删除追加事件
2020/12/04 Javascript
[02:42]完美大师赛主赛事淘汰赛第三日观众采访
2017/11/25 DOTA
[54:26]完美世界DOTA2联赛PWL S3 Forest vs Rebirth 第一场 12.10
2020/12/12 DOTA
python 多进程通信模块的简单实现
2014/02/20 Python
跟老齐学Python之类的细节
2014/10/13 Python
python 实现自动远程登陆scp文件实例代码
2017/03/13 Python
python中的随机函数小结
2018/01/27 Python
浅析python3中的os.path.dirname(__file__)的使用
2018/08/30 Python
Python使用os.listdir和os.walk获取文件路径
2020/05/21 Python
html5-websocket基于远程方法调用的数据交互实现
2012/12/04 HTML / CSS
小学教师学期末自我评价
2013/09/25 职场文书
临床医学专业毕业生的自我评价
2013/10/17 职场文书
毕业生求职推荐信
2013/11/04 职场文书
市场营销毕业生自荐信
2013/11/23 职场文书
销售实习自我鉴定
2013/12/07 职场文书
委托协议书范本
2014/04/22 职场文书
宣传普通话标语
2014/06/27 职场文书
《分一些蚊子进来》读后感3篇
2020/01/09 职场文书
python开发制作好看的时钟效果
2022/05/02 Python
winserver2019安装软件一直卡在应用程序正在为首次使用做准备
2022/06/10 Servers