将j-ui(dwz)套用到thinkphp注意事项【mgm娱乐场】

目前我用的 thinkphp 版本是  3.1.3

本文实例分析了DWZ+ThinkPHP开发时遇到的问题。分享给大家供大家参考,具体如下:

J-UI  dwz 版本好像是 1.4

目前我用的 thinkphp 版本是  3.1.3

现在 j-ui有
thinkphp的例子了,请尽量以他们原创为主,我这里都是一些自己搜集和自己钻研的土办法,

J-UI  dwz 版本好像是 1.4

1 更改  Action.class.php 中 ajaxReturn函数 为

当我在项目开发的过程中 遇到了这么的一个问题,
当我我在后台执行ajax操作的时候,success,error不能成功的返回提示的信息,而是返回object
object这样的一条错误提示。

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对DWZ中的Ajax技术中的一点不符合版本的问题

 

所以我就 更改  Action.class.php 中 ajaxReturn函数 为

2 更改 ContentReplaceBehavior 中 templateContentReplace 函数为

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);
    }
}
    protected function templateContentReplace($content) {          // 系统默认的特殊变量替换          $replace =  array(              '__TMPL__'      =>  APP_TMPL_PATH,  // 项目模板目录              '__ROOT__'      =>  __ROOT__,       // 当前网站地址              '__APP__'       =>  __APP__,        // 当前项目地址              '__GROUP__'     =>  defined('GROUP_NAME')?__GROUP__:__APP__,              '__ACTION__'    =>  __ACTION__,     // 当前操作地址              '__SELF__'      =>  __SELF__,       // 当前页面地址              '__URL__'       =>  __URL__,              '../Public'     =>  APP_TMPL_PATH.'Public',// 项目公共模板目录              '__PUBLIC__'    =>  __ROOT__.'/Public',// 站点公共目录              '__MODULE__' => MODULE_NAME,  // 这句是亮点          );          // 允许用户自定义模板的字符串替换          if(is_array(C('TMPL_PARSE_STRING')) )              $replace =  array_merge($replace,C('TMPL_PARSE_STRING'));          $content = str_replace(array_keys($replace),array_values($replace),$content);          return $content;      }

更多关于thinkPHP相关内容感兴趣的读者可查看本站专题:《ThinkPHP入门教程》、《thinkPHP模板操作技巧总结》、《ThinkPHP常用方法总结》、《codeigniter入门教程》、《CI(CodeIgniter)框架进阶教程》、《Zend
FrameWork框架入门教程
》、《smarty模板入门基础教程》及《PHP模板技术总结》。

3 检查你的 tpl/index/index.html 中 是否有这几个js 函数

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

<script type="text/javascript">  function fleshVerify(){      //重载验证码      $('#verifyImg').attr("src", '__APP__/Public/verify/'+new Date().getTime());  }  function dialogAjaxMenu(json){      dialogAjaxDone(json);      if (json.statusCode == DWZ.statusCode.ok){          $("#sidebar").loadUrl("__APP__/Public/menu");      }  }  function navTabAjaxMenu(json){      navTabAjaxDone(json);      if (json.statusCode == DWZ.statusCode.ok){          $("#sidebar").loadUrl("__APP__/Public/menu");      }  }      $(function(){      DWZ.init("__PUBLIC__/dwz/dwz.frag.xml", {          loginUrl:"__APP__/Public/login_dialog", loginTitle:"登录",    // 弹出登录对话框  //        loginUrl:"__APP__/Public/login",    //跳到登录页面          statusCode:{ok:1,error:0},          pageInfo:{pageNum:"pageNum", numPerPage:"numPerPage", orderField:"_order", orderDirection:"_sort"}, //【可选】          debug:false,    // 调试模式 【true|false】          callback:function(){              initEnv();              $("#themeList").theme({themeBase:"__PUBLIC__/dwz/themes"});          }      });  });  </script>

您可能感兴趣的文章:

相关文章