【发布时间】:2017-01-09 10:31:21
【问题描述】:
我试图返回普通的旧 JSON,但由于某种原因它被这样返回:
<html>
<body>
{
"token":"MTEyLSQyeSQxMCRHVS9nS2t2QVRVcGpJWjJGVERldXouWWJFTzgyZ0lCTURBZFIvdWs2RldGNm1IeWxxNGpTUw==",
"user":{
"id":112,
"username":"admin",
"firstName":"admin",
"lastName":"admin",
},
"userType":{
"id":1,
"name":"admin"
}
}
</body>
</html>
我目前正在使用 CakePHP 发送响应:
/**
* @param $controller \App\Controller\AppController
*/
public function respond($controller) {
$controller->response->header('Content-Type: application/json');
$controller->response->statusCode($this->statusCode);
$controller->response->body(json_encode($this->messages));
}
但我也尝试过使用纯 PHP:
echo json_encode($this->messages);
die();
HTML 标签对我的前端来说不是问题,它们似乎被 javascript 忽略了。但是出于某种原因,TestNG 正在获取 HTML 标记并使响应不可解析。
有什么想法吗?
【问题讨论】:
-
echo json_encode($this->messages); die();的结果是什么? -
完全一样的东西。 @谢里夫
-
您能发布您的完整控制器功能吗?
-
这就是整个函数,不过我添加了函数声明。
-
您使用的是什么版本的 CakePHP,您不使用 Json View 是否有原因?
标签: php cakephp testng cakephp-3.2