DWZ+ThinkPHP时遇到的问题

来源:互联网 发布:模具设计与制造软件 编辑:程序博客网 时间:2024/06/05 21:45

目前我用的 thinkphp 版本是  3.1.3

J-UI  dwz 版本好像是 1.4

当我在项目开发的过程中 遇到了这么的一个问题,

当我我在后台执行ajax操作的时候,success,error不能成功的返回提示的信息,而是返回object object这样的一条错误提示,

研究了很久发现是版本的问题,新改版的ThinkPHP对DWZ中的Ajax技术中的一点不符合版本的问题

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

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
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);
        }
    }
0 0
原创粉丝点击