ThinkPHP实战
上QQ阅读APP看书,第一时间看更新

4.7 Ajax返回

在接口开发中,需要直接返回json或xml格式的数据,而不是渲染视图,编辑Application/Home/Controller/IndexController.class.php,代码如下:

        <? php
        namespace Home\Controller;
        use Think\Controller;
        class IndexController extends Controller
        {
        public function index()
        {
            $data = array(
                'status' => 1,
                'data' => 'data'
            );
            $this->ajaxReturn($data);
        }
        public function bind($id = 1)
        {
            echo U('Blog/view', array('id' => 1), 'shtml');
        }
        }

访问http://localhost/chapter-4/home/index/index,输出“{"status":1, "data":"data"}”。

系统默认返回JSON格式的数据,如果需要返回xml,可以显示指定返回的格式。编辑Application/Home/Controller/IndexController.class.php的index方法,代码如下:

        public function index()
        {
        $data = array(
            'status' => 1,
            'data' => 'data'
        );
        $this->ajaxReturn($data, 'xml');
        }

访问http://localhost/chapter-4/home/index/index,输出以下数据:

        <? xml version="1.0" encoding="utf-8"? >
        <think>
        <status>1</status>
        <data>data</data>
        </think>

可能有的读者会有疑问,为什么会有“think”呢?其实是因为xml规定xml文档有且仅有一个根元素。