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

5年以前  |  阅读数:807 次  |  编程语言:PHP 

本文实例分析了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相关内容感兴趣的读者可查看本站专题:《ThinkPHP入门教程》、《thinkPHP模板操作技巧总结》、《ThinkPHP常用方法总结》、《codeigniter入门教程》、《CI(CodeIgniter)框架进阶教程》、《Zend FrameWork框架入门教程》、《smarty模板入门基础教程》及《PHP模板技术总结》。

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

 相关文章:
PHP分页显示制作详细讲解
SSH 登录失败:Host key verification failed
获取IMSI
将二进制数据转为16进制以便显示
获取IMEI
文件下载
贪吃蛇
双位运算符
PHP自定义函数获取搜索引擎来源关键字的方法
Java生成UUID
发送邮件
年的日历图
提取后缀名
在Zeus Web Server中安装PHP语言支持
让你成为最历害的git提交人
Yii2汉字转拼音类的实例代码
再谈PHP中单双引号的区别详解
指定应用ID以获取对应的应用名称
Python 2与Python 3版本和编码的对比
php封装的page分页类完整实例