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 团购折扣计算公式
Nov 24 PHP
PHP输出数组中重名的元素的几种处理方法
Sep 05 PHP
php shell超强免杀、减少体积工具实现代码
Oct 16 PHP
PHP实现定时执行任务的方法
Oct 05 PHP
PHP解析目录路径的3个函数总结
Nov 18 PHP
浅谈json_encode用法
Mar 05 PHP
php上传大文件失败的原因及应对策略
Oct 20 PHP
两款万能的php分页类
Nov 12 PHP
PHP中抽象类、接口的区别与选择分析
Mar 29 PHP
PHP实现SMTP邮件的发送实例
Sep 27 PHP
php链式操作的实现方式分析
Aug 12 PHP
php依赖注入知识点详解
Sep 23 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文件下载类
2006/12/06 PHP
深入PHP异步执行的详解
2013/06/03 PHP
ThinkPHP中pathinfo的访问模式、路径访问模式及URL重写总结
2014/08/23 PHP
php和editplus正则表达式去除空白行
2015/04/17 PHP
学习php设计模式 php实现合成模式(composite)
2015/12/08 PHP
thinkPHP模板中函数的使用方法示例
2016/11/30 PHP
用JS写的一个TableView控件代码
2010/01/23 Javascript
safari,opera嵌入iframe页面cookie读取问题解决方法
2010/06/23 Javascript
异步加载script的代码
2011/01/12 Javascript
js自定义事件代码说明
2011/01/31 Javascript
分享20多个很棒的jQuery 文件上传插件或教程
2011/09/04 Javascript
javascript实现禁止复制网页内容汇总
2015/12/30 Javascript
原生js封装自定义滚动条
2017/03/24 Javascript
利用NPM淘宝的node.js镜像加速nvm
2017/03/27 Javascript
Node.js实现用户评论社区功能(体验前后端开发的乐趣)
2019/05/09 Javascript
Vue结合路由配置递归实现菜单栏功能
2020/06/16 Javascript
解决vue请求接口第一次成功,第二次失败问题
2020/09/08 Javascript
在Python中使用SimpleParse模块进行解析的教程
2015/04/11 Python
python 判断linux进程,并杀死进程的实现方法
2019/07/01 Python
python使用PIL和matplotlib获取图片像素点并合并解析
2019/09/10 Python
python解析多层json操作示例
2019/12/30 Python
如何用Anaconda搭建虚拟环境并创建Django项目
2020/08/02 Python
Python接口自动化测试的实现
2020/08/28 Python
Python基于execjs运行js过程解析
2020/11/27 Python
Links of London官方网站:英国标志性的珠宝品牌
2017/04/09 全球购物
Gweniss格温妮丝女包官网:英国纯手工制造潮流包包品牌
2018/02/07 全球购物
印度最大的时尚购物网站:Myntra
2018/09/13 全球购物
英国领先的高级美容和在线皮肤诊所:Face the Future
2020/06/17 全球购物
商场消防演习方案
2014/02/12 职场文书
教师自我反思材料
2014/02/14 职场文书
企业节能减排实施方案
2014/03/19 职场文书
2014财产信托协议书范本
2014/11/18 职场文书
2016年教师学习廉政准则心得体会
2016/01/20 职场文书
导游词之上饶龟峰
2019/10/25 职场文书
能用CSS实现的就不要麻烦JavaScript了
2021/10/05 HTML / CSS
面试分析分布式架构Redis热点key大Value解决方案
2022/03/13 Redis