您的位置:首页 > 编程语言 > PHP开发

thinkphp 返回ajax 及switch

2016-05-10 16:05 459 查看
/**

     * Ajax方式返回数据到客户端

     * @access protected

     * @param mixed $data 要返回的数据

     * @param String $type AJAX返回数据格式

     * @param int $json_option 传递给json_encode的option参数

     * @return void

     */

    protected function ajaxReturn($data,$type='',$json_option=0) {

        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,$json_option));

            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,$json_option).');');  

            case 'EVAL' :

                // 返回可执行的js脚本

                header('Content-Type:text/html; charset=utf-8');

                exit($data);            

            default     :

                // 用于扩展其他返回格式数据

                Hook::listen('ajax_return',$data);

        }

    }
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  ajax switch