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 相关文章推荐
用PHP书写安全的脚本代码
Feb 05 PHP
ThinkPHP缓存方法S()概述
Jun 13 PHP
php去掉URL网址中带有PHPSESSID的配置方法
Jul 08 PHP
PHP封装分页函数实现文本分页和数字分页
Oct 23 PHP
php显示时间常用方法小结
Jun 05 PHP
微信支付PHP SDK之微信公众号支付代码详解
Dec 09 PHP
php+mysql实现的二级联动菜单效果详解
May 10 PHP
laravel中的错误与日志用法详解
Jul 26 PHP
php中实现字符串翻转的方法
Feb 22 PHP
PHP实现的redis主从数据库状态检测功能示例
Jul 20 PHP
php生成毫秒时间戳的实例讲解
Sep 22 PHP
PHP chunk_split()函数讲解
Feb 12 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
PHP数组相加操作及与array_merge的区别浅析
2016/11/26 PHP
PHP预定义超全局数组变量小结
2018/08/20 PHP
javascript之dhDataGrid Ver2.0.0代码
2007/07/01 Javascript
JS 密码强度验证(兼容IE,火狐,谷歌)
2010/03/15 Javascript
js实现div弹出层的方法
2014/11/20 Javascript
jQuery实现下拉框选择图片功能实例
2015/08/08 Javascript
jQuery采用连缀写法实现的折叠菜单效果
2015/09/18 Javascript
jQuery实现图片轮播效果代码(基于jquery.pack.js插件)
2016/06/02 Javascript
Javascript中的迭代、归并方法详解
2016/06/14 Javascript
分享JS代码实现鼠标放在输入框上输入框和图片同时更换样式
2016/09/01 Javascript
angularJS Provider、factory、service详解及实例代码
2016/09/21 Javascript
解决拦截器对ajax请求的拦截实例详解
2016/12/21 Javascript
利用node实现一个批量重命名文件的函数
2017/12/21 Javascript
js+html5实现手机九宫格密码解锁功能
2018/07/30 Javascript
JavaScript事件发布/订阅模式原理与用法分析
2018/08/21 Javascript
vue点击标签切换选中及互相排斥操作
2020/07/17 Javascript
[59:48]LGD vs IG 2018国际邀请赛小组赛BO2 第一场 8.18
2018/08/19 DOTA
[02:21]十步杀一人,千里不留行——DOTA2全新英雄天涯墨客展示
2018/08/29 DOTA
python flask中动态URL规则详解
2019/11/22 Python
快速解释如何使用pandas的inplace参数的使用
2020/07/23 Python
解决Pymongo insert时会自动添加_id的问题
2020/12/05 Python
20行代码教你用python给证件照换底色的方法示例
2021/02/05 Python
HTML5 3D旋转相册的实现示例
2019/12/03 HTML / CSS
La Senza官网:北美顶尖性感内衣品牌
2018/08/03 全球购物
俄罗斯花园种植材料批发和零售网上商店:Беккер
2019/07/22 全球购物
医药工作岗位求职信分享
2013/12/31 职场文书
网上开店必备创业计划书
2014/01/26 职场文书
社会实践活动总结范文
2014/07/03 职场文书
学雷锋的心得体会
2014/09/04 职场文书
教师自查自纠材料
2014/10/14 职场文书
分居协议书范本
2014/11/03 职场文书
财务总监岗位职责范本
2015/04/03 职场文书
法定代表人免职证明
2015/06/24 职场文书
年终工作总结范文
2019/06/20 职场文书
详解python网络进程
2021/06/15 Python
Python 一键获取电脑浏览器的账号密码
2022/05/11 Python