PHP thinkphp中輸出返回數據json、jsonp、xml的實例

PHP thinkphp中返回json、jsonp、xml的實例


ajaxReturn (json_encode($arr),'JSON');

ajaxReturn (json_encode($arr),'JSONP');

ajaxReturn (json_encode($arr),'XML');



/**
     * Ajax方式返回數據到客戶端
     * @access protected
     * @param mixed $data 要返回的數據
     * @param String $type AJAX返回數據格式
     * @return void
     */
    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):'';
        }
        if(empty($type)) $type  =   C('DEFAULT_AJAX_RETURN');
        if(strtoupper($type)=='JSON') {
            // 返回JSON數據格式到客戶端 包含狀態信息
            header('Content-Type:text/html; charset=utf-8');
            exit(json_encode($data));
        }elseif(strtoupper($type)=='XML'){
            // 返回xml格式數據
            header('Content-Type:text/xml; charset=utf-8');
            exit(xml_encode($data));
        }elseif(strtoupper($type)=='EVAL'){
            // 返回可執行的js腳本
            header('Content-Type:text/html; charset=utf-8');
            exit($data);
        }else{
            // TODO 增加其它格式
        }
    }
復制代碼


轉載請注明出處 AE博客|墨淵 ? PHP thinkphp中輸出返回數據json、jsonp、xml的實例

相關推薦

發表評論

路人甲

網友評論(0)