我想发送数据并以JSON的形式获得响应,以便快速响应。所以我正在使用AJAX。 我为什么要
“ Content-Type text / html; charset = UTF-8 ”
为什么不
Content-Type application / json
控制器
public function testingMethod() {
$this->autoRender = false;
$urlVal = $_POST['urlVal'];
$dataBack = json_encode($urlVal);
if ($this->RequestHandler->isAjax()) {
return $dataBack;
}
}
的jQuery
$.ajax({
type: "POST",
url: pathname+"Frontends/testingMethod",
data: 'urlVal=' + urlVal,
dataType: 'json',
success: function (result) {
console.log(result);
alert(result);
}
});
标题
Response Headers
Connection Keep-Alive
Content-Length 2382
Content-Type text/html; charset=UTF-8 //why here not getting application/json
Date Wed, 14 Aug 2013 10:17:38 GMT
Keep-Alive timeout=5, max=94
Server Apache/2.2.22 (Win32) PHP/5.4.3
X-Powered-By PHP/5.4.3
答案 0 :(得分:2)
快速核对清单:
将.json
扩展名添加到routes.php
:
Router::parseExtensions('json');
在控制器中加载RequestHandler
类:
public $components = array(
'RequestHandler',
);
在模型的json
目录中创建一个View
文件夹,并在其中放置JSON视图。
将.json
附加到网址:
url: pathname+"Frontends/testingMethod.json",
JSON and XML views记录了这一点。值得阅读完整的文档,因为我所描述的步骤并不是唯一可行的方法。