Php 从EE模块返回JSON

Php 从EE模块返回JSON,php,json,codeigniter,expressionengine,Php,Json,Codeigniter,Expressionengine,我在ExpressionEngine中创建了一个模块(使用codeigniter框架构建) 我正在使用AJAX提交表单,并希望返回JSON响应 表单是通过AJAX正确提交的,我已经用不同的代码测试了它添加到数据库等 作为JSON响应的一些测试代码,我设置了以下内容: public function placeItem() { $arr = array('a' => 1, 'b' => 2, 'c' => 3, 'd' => 4, 'e' => 5);

我在ExpressionEngine中创建了一个模块(使用codeigniter框架构建)

我正在使用AJAX提交表单,并希望返回JSON响应

表单是通过AJAX正确提交的,我已经用不同的代码测试了它添加到数据库等

作为JSON响应的一些测试代码,我设置了以下内容:

public function placeItem() {

    $arr = array('a' => 1, 'b' => 2, 'c' => 3, 'd' => 4, 'e' => 5);

    echo json_encode($arr);

} 
与:

这是重新返回的:

"a":1,"b":2,"c":3,"d":4,"e":5}<div style="border:1px solid #990000;padding-left:20px;margin:0 0 10px 0;">

<h4>A PHP Error was encountered</h4>

<p>Severity: Warning</p>
<p>Message:  Cannot modify header information - headers already sent by (output started at /var/sites/d/domain.com/public_html/system/expressionengine/third_party/wishlist/mod.wishlist.php:77)</p>
<p>Filename: core/Common.php</p>
<p>Line Number: 408</p>

</div>
“a”:1,“b”:2,“c”:3,“d”:4,“e”:5}
遇到一个PHP错误
严重性:警告

消息:无法修改标题信息-标题已由发送(输出开始于/var/sites/d/domain.com/public_html/system/expressionengine/third_party/wishlist/mod.wishlist.php:77)

文件名:core/Common.php

行号:408

第77行是:echo json_encode($arr)

首先,我不明白为什么会显示PHP错误。
其次,警报中会返回JSON,但如果我尝试执行JSON,例如,它会显示“undefined”。

hi尝试设置JSON输出

$this->output
    ->set_content_type('application/json')
    ->set_output(json_encode(array('foo' => 'bar')));

它看起来像是
EE
echo
之后尝试发送
标题
信息,如果您确实知道自己在做什么,请尝试退出
而不是
echo
$this->output
    ->set_content_type('application/json')
    ->set_output(json_encode(array('foo' => 'bar')));