我正在尝试将一些JSON传递给CakePHP 2.5中的控制器,并返回它,以确保一切都顺利进行。
然而,我没有收到任何响应内容。只有一个200成功的状态码。从阅读文档来看,如果我传递一些JSON,则responseHandler将返回JSON作为响应。
不确定我漏掉了什么。
传递的数据:
var neworderSer = $(this).sortable("serialize");
这提供了
item[]=4&item[]=3&item[]=6&item[]=5&item[]=7
appController.php
public $components = array(
'DebugKit.Toolbar',
'Search.Prg',
'Session',
'Auth',
'Session',
'RequestHandler'
);
index.ctp
$.ajax({
url: "/btstadmin/pages/reorder",
type: "post",
dataType:"json",
data: neworderSer,
success: function(feedback) {
notify('Reordered pages');
},
error: function(e) {
notify('Reordered pages failed', {
status: 'error'
});
}
});
PagesController.php
public function reorder() {
$this->request->onlyAllow('ajax');
$data = $this->request->data;
$this->autoRender = false;
$this->set('_serialize', 'data');
}
更新: 我现在已经将以下内容添加到routes.php文件中。
Router::parseExtensions('json', 'xml');
我已经更新了控制器到
$data = $this->request->data;
$this->set("status", "OK");
$this->set("message", "You are good");
$this->set("content", $data);
$this->set("_serialize", array("status", "message", "content"));
所有的事情现在都完美无缺。