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

叶子小小的,碧绿碧绿的,花儿小小的,好可爱。紫红色的玫瑰花在风中翩翩起舞,玫瑰花树枝上还有调皮又可爱的小刺,你可要当心哦!你看,那个大仙人球旁围着8个小仙人球,好像一家人聚在一起,多欢快呀!

本文实例分析了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程序设计有所帮助。

本文DWZ+ThinkPHP开发时遇到的问题分析到此结束。我们停下脚步,其实只为走得更远!小编再次感谢大家对我们的支持!

您可能有感兴趣的文章
thinkphp集成前端脚手架Vue-cli的好代码教程图解

thinkPHP框架整合tcpdf插件操作示例

thinkPHP框架单元测试库tpunit用法示例

ThinkPHP 3如何使用OSS的方法

PHP封装类似thinkphp连贯操作数据库Db类与简单应用示例