ケーキ2.1を使用して、ajaxを介してjsonレコードのリストを取得しようとしています。不足しているものが見つかりません:
ルート.phpに、追加:
Router::parseExtensions('json');
私のコントローラーのアクション:
public function getdirs($id = null) {
$this->RequestHandler->setContent('json', 'application/json');
$dirArray = $this->Dir->find('all');
debug($dirArray);
$this->set('dirArray', $dirArray);
$this->set('_serialize', 'dirArray');
}
私の見解では(親レコード-101-を編集し、その子を取得する必要があります)、私はこのjqueryを使用しています:
function updateTable() {
var path = "/dirs/getdirs/101.json";
$.post(path,null,function(data) {
//$.get(path, function(data) {
alert('backFromServer');
alert(data);
});
}
'backfromserver'アラートに到達していません。また、エラーがどこにあるかをテストする方法がわかりません。
jsonデータを取得すると、ビューのdivセクションがいっぱいになります。この部分はカバーされていますが、サーバーからのデータが必要です。
何日もこれに苦労していて、私は本当にいくつかの助けに感謝します。
ありがとうございました !!
更新 が.json拡張子に修正され、自動レンダリングが削除されました。ファイアバグの応答は次のとおりです。
{"code":"404","url":"\/dirs\/getdirs\/101.json","name":"Controller class Controller could not be found."}
"NetworkError: 404 Not Found - http://dev.opm.asc/dirs/getdirs/101.json"
私の行動を再確認しました。それはgetdirsallrightと呼ばれています。
public function getdirs($id = null) {
$this->RequestHandler->setContent('json', 'application/json');
$dirArray = $this->Dir->find('all');
debug($dirArray);
$this->set('dirArray', $dirArray);
$this->set('_serialize', 'dirArray');
}
アクションが見つからない理由は何でしょうか?
一般的なビューに関しては、この場合、データ配列を取得してdivを埋めたいだけです。
助けてください。
どうもありがとう。