Kohana Framework 3.2 的响应输出有问题
也许这是一个已知问题,但我一直无法找到类似的问题或对此事的回应。
每当我向控制器发出请求时,我都会收到以下形式的响应:
$this->response->body($aView->render());
我在浏览器中收到响应,而且,在响应的开头出现了一个不需要的“<”字符。
对于简单的请求来说这不是问题,但是当我尝试发出 ajax 请求以接收 json 响应时,它会破坏代码流。
附加信息:在视图中,我使用元标记将字符集设置为“utf-8”。
谁能帮我?提前致谢
ps:对不起,如果它之前被质疑或出现在谷歌搜索中。也许我使用了错误的搜索关键字。
-------------------------有关问题的更多详细信息-------------------- ------------
为了展示这种行为的一个简单示例,我发布了控制器的代码、视图和当前显示我所问内容的意外响应。
首先,我有一个管理用户(创建、更新、删除)和登录/注销操作的用户控制器。例如,当我注册一个新用户时,我有一个接收用户名的方法,检查数据库中是否存在并返回给浏览器一个 json 回复,通知给定用户名的存在与否。
<?php defined('SYSPATH') or die('No direct script access.');
class Controller_User extends Controller {
//additional code
public function action_existsusername(){
$username_candidate = $this->request->param("username","");
$user = ORM::factory("user")->where("username","=",$username_candidate)->find();
$reply = ($user->id) ? '{"reply":"true"}': '{"reply":"false"}' ;
$this->response->body($reply);
}
//more code
}
但是当我看到回复时,文字如下,
<{"reply":"false"}
我永远不会在响应中添加小于字符的“<”。当我试图从 html 中的服务器获取部分视图时,也会出现这种行为(它总是在该字符的响应之前)。
在上面的示例中,我还尝试发送标头(在本例中为 application/json),但结果几乎相同。
希望它澄清一个答案,谢谢你的回答;)