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 相关文章推荐
xml+php动态载入与分页
Oct 09 PHP
PHP的面试题集
Nov 19 PHP
国外PHP程序员的13个好习惯小结
Feb 20 PHP
PHP 第一节 php简介
Apr 28 PHP
php eval函数用法总结
Oct 31 PHP
Zend的MVC机制使用分析(一)
May 02 PHP
在PHP中设置、使用、删除Cookie的解决方法
May 06 PHP
关于PHP自动判断字符集并转码的详解
Jun 26 PHP
解析PHP实现下载文件的两种方法
Jul 05 PHP
php生成缩略图填充白边(等比缩略图方案)
Dec 25 PHP
PHP弹出提示框并跳转到新页面即重定向到新页面
Jan 24 PHP
PHP和C#可共用的可逆加密算法详解
Oct 26 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 session有效期问题
2009/04/26 PHP
php中用数组的方法设置cookies
2011/04/21 PHP
php通过记录IP来防止表单重复提交方法分析
2014/12/16 PHP
PHP递归实现文件夹的复制、删除、查看大小操作示例
2017/08/11 PHP
基于jQuery的动态表格插件
2011/03/28 Javascript
使用jquery实现IE下按backspace相当于返回操作
2014/03/18 Javascript
JS对img标签进行优化使用onerror显示默认图像
2014/04/24 Javascript
[将免费进行到底]在Amazon的一年免费服务器上安装Node.JS, NPM和OurJS博客
2014/08/18 Javascript
js实现一个链接打开两个链接地址的方法
2015/05/12 Javascript
jquery实现select下拉框美化特效代码分享
2015/08/18 Javascript
Vue插件写、用详解(附demo)
2017/03/20 Javascript
js实现放大镜特效
2017/05/18 Javascript
vue bootstrap小例子一枚
2017/06/09 Javascript
原生JS实现ajax与ajax的跨域请求实例
2017/12/01 Javascript
解决iView中时间控件选择的时间总是少一天的问题
2018/03/15 Javascript
小程序rich-text组件如何改变内部img图片样式的方法
2019/05/22 Javascript
vue elementUI table 自定义表头和行合并的实例代码
2019/05/22 Javascript
jQuery编写QQ简易聊天框
2020/08/27 jQuery
基于JavaScript实现随机点名器
2021/02/25 Javascript
[10:49]2014国际邀请赛 叨叨刀塔第二期为真正的电竞喝彩
2014/07/21 DOTA
[56:35]DOTA2上海特级锦标赛C组小组赛#1 OG VS Archon第二局
2016/02/27 DOTA
python模拟登陆Tom邮箱示例分享
2014/01/13 Python
python进阶教程之循环对象
2014/08/30 Python
让 python 命令行也可以自动补全
2014/11/30 Python
星球大战与Python之间的那些事
2016/01/07 Python
pandas 实现将重复表格去重,并重新转换为表格的方法
2018/04/18 Python
Python中函数参数匹配模型详解
2019/06/09 Python
关于Python 常用获取元素 Driver 总结
2019/11/24 Python
Python命名空间namespace及作用域原理解析
2020/06/05 Python
在pycharm中关掉ipython console/PyDev操作
2020/06/09 Python
html5使用canvas绘制一张图片
2014/12/15 HTML / CSS
Linux内核产生并发的原因
2012/07/13 面试题
小学安全汇报材料
2014/08/14 职场文书
“四风”查摆问题自我剖析材料
2014/09/27 职场文书
Ruby处理YAML和json数据
2022/04/18 Ruby
云服务器部署 Web 项目的实现步骤
2022/06/28 Servers