php教程

超轻量级php框架startmvc

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

更新时间:2020-03-16 05:23:03 作者:startmvc
本文实例分析了DWZ+ThinkPHP开发时遇到的问题。分享给大家供大家参考,具体如下:目前我用

本文实例分析了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);
 }
}

DWZ ThinkPHP 开发 问题