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

 更新时间:2016年12月12日 11:00:22   作者:qq_26702065  
这篇文章主要介绍了DWZ+ThinkPHP开发时遇到的问题,结合实例形式分析了DWZ+ThinkPHP在ajax调用中出现错误问题的解决方法,需要的朋友可以参考下

本文实例分析了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相关内容感兴趣的读者可查看本站专题:《ThinkPHP入门教程》、《thinkPHP模板操作技巧总结》、《ThinkPHP常用方法总结》、《codeigniter入门教程》、《CI(CodeIgniter)框架进阶教程》、《Zend FrameWork框架入门教程》、《smarty模板入门基础教程》及《PHP模板技术总结》。

希望本文所述对大家基于ThinkPHP框架的PHP程序设计有所帮助。

相关文章

  • YII实现分页的方法

    YII实现分页的方法

    这篇文章主要介绍了YII实现分页的方法,需要的朋友可以参考下
    2014-07-07
  • 让ThinkPHP的模板引擎达到最佳效率的方法详解

    让ThinkPHP的模板引擎达到最佳效率的方法详解

    这篇文章主要介绍了让ThinkPHP的模板引擎达到最佳效率的方法,结合实例形式较为详细的分析了thinkPHP模板引擎的使用方法与使用原生态php语法的效率问题,需要的朋友可以参考下
    2017-03-03
  • Windows IIS PHP 5.2 安装与配置方法

    Windows IIS PHP 5.2 安装与配置方法

    Windows下PHP的安装虽然简单,但如果不注意方法,仍然会让你头疼。此外,PHP 5.2版本与之前4.x版本也有一些不同,所以有必要记录一下,避免下次忘记了这样的安装配置方法。
    2009-06-06
  • 深入理解PHP变量的值类型和引用类型

    深入理解PHP变量的值类型和引用类型

    在PHP中,大部分变量类型,如字符串,整型,浮点,数组等都是值类型的,而类和对象是引用类型,在使用的时候,需要注意这一点。
    2015-10-10
  • PHP微信刮刮卡 附微信接口

    PHP微信刮刮卡 附微信接口

    像微信大转盘、刮刮卡这样的抽奖,最重要最核心的就是如何设置中奖的概率。本文综合了网上多个微信大转盘、刮刮卡的代码
    2016-07-07
  • PHP无限循环获取MySQL中的数据实例代码

    PHP无限循环获取MySQL中的数据实例代码

    最近公司有个需求需要从MySQL获取数据,然后在页面上无线循环的翻页展示.其实这个功能可以通过jq实现,也可以通过php+mysql实现,下面小编给大家分享基于PHP无限循环获取MySQL中的数据实现方法,感兴趣的朋友一起看看吧
    2017-08-08
  • 开源SNS系统-ThinkSNS

    开源SNS系统-ThinkSNS

    目前网络上的sns网站已经不少了,但是可以找到的sns源码似乎还很少见到。
    2008-05-05
  • PhpStorm 2020.3:新增开箱即用的PHP 8属性(推荐)

    PhpStorm 2020.3:新增开箱即用的PHP 8属性(推荐)

    这篇文章主要介绍了PhpStorm 2020.3:新增开箱即用的PHP 8属性的相关资料,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-10-10
  • 使用YUI+Ant 实现JS CSS压缩

    使用YUI+Ant 实现JS CSS压缩

    YUI库是一组工具和控件,它们用JavaScript写成, 为的是用DOM 脚本,DHTML和AJAX等技术创建丰富的网页交互式应用程序。YUI 基于BSD协议,对所有的使用方式都是免费的。YUI 项目包括YUI 库和两个创建时工具:YUI Compressor (压缩)和YUI Doc(JavaScripts代码的文档引擎)
    2014-09-09
  • PHP json_encode() 函数详解及中文乱码问题

    PHP json_encode() 函数详解及中文乱码问题

    这篇文章主要介绍了PHP json_encode() 函数详解及中文乱码问题的相关资料,需要的朋友可以参考下
    2015-11-11

最新评论