DWZ+ThinkPHP开发时遇到的问题分析
本文实例分析了DWZ+ThinkPHP开发时遇到的问题。分享给大家供大家参考,具体如下:
目前我用的thinkphp版本是 3.1.3
J-UI dwz版本好像是1.4
当我在项目开发的过程中遇到了这么的一个问题,
当我我在后台执行ajax操作的时候,success,error不能成功的返回提示的信息,而是返回objectobject这样的一条错误提示。
研究了很久发现是版本的问题,新改版的ThinkPHP对DWZ中的Ajax技术中的一点不符合版本的问题
所以我就更改 Action.class.php中ajaxReturn函数为
protectedfunctionajaxReturn($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)框架进阶教程》、《ZendFrameWork框架入门教程》、《smarty模板入门基础教程》及《PHP模板技术总结》。
希望本文所述对大家基于ThinkPHP框架的PHP程序设计有所帮助。