CodeIgniter - 如何从控制器返回 Json 响应

作者:编程家 分类: php 时间:2025-12-25

CodeIgniter是一个流行的PHP框架,用于开发Web应用程序。它提供了许多便捷的功能和工具,使得开发过程更加简单和高效。其中一个常见的需求是从控制器返回JSON响应。本文将介绍如何使用CodeIgniter的控制器返回JSON响应,并提供了相关的案例代码。

在CodeIgniter中,要从控制器返回JSON响应,我们可以使用框架提供的`json_encode()`函数将数据转换为JSON格式,然后使用`$this->output->set_content_type('application/json')->set_output()`方法将其作为响应返回。

首先,我们需要在控制器中编写一个方法来处理JSON响应。以下是一个示例控制器方法的代码:

php

public function get_data()

{

$data = [

'name' => 'John Doe',

'email' => 'johndoe@example.com',

'age' => 30

];

$jsonResponse = json_encode($data);

$this->output

->set_content_type('application/json')

->set_output($jsonResponse);

}

在上面的示例中,我们创建了一个包含姓名、电子邮件和年龄的关联数组。然后,我们使用`json_encode()`函数将该数组转换为JSON格式的字符串。接下来,我们使用`$this->output->set_content_type('application/json')->set_output()`方法将JSON字符串作为响应返回。

现在,当调用`get_data()`方法时,它将返回一个JSON响应,其中包含了名为"John Doe"的人的姓名、电子邮件和年龄。

案例代码:

php

defined('BASEPATH') OR exit('No direct script access allowed');

class ExampleController extends CI_Controller {

public function get_data()

{

$data = [

'name' => 'John Doe',

'email' => 'johndoe@example.com',

'age' => 30

];

$jsonResponse = json_encode($data);

$this->output

->set_content_type('application/json')

->set_output($jsonResponse);

}

}

在上面的案例代码中,我们创建了一个名为`ExampleController`的控制器,并在其中定义了一个名为`get_data()`的方法。该方法返回一个包含个人信息的JSON响应。

使用CodeIgniter控制器返回JSON响应

以上案例代码演示了如何使用CodeIgniter的控制器返回JSON响应。通过将数据转换为JSON格式,并使用`$this->output->set_content_type('application/json')->set_output()`方法设置响应内容,我们可以轻松地返回JSON响应。

无论是构建API接口还是处理前端Ajax请求,返回JSON响应都是非常常见的需求。CodeIgniter的便捷功能使得实现这一需求变得简单且高效。

本文介绍了如何使用CodeIgniter的控制器返回JSON响应。通过使用`json_encode()`函数将数据转换为JSON格式,并使用`$this->output->set_content_type('application/json')->set_output()`方法设置响应内容,我们可以轻松地返回JSON响应。这对于构建API接口或处理前端Ajax请求非常有用。CodeIgniter的便捷功能使得实现这一需求变得简单且高效。