2012-04-17 5 views
0

cakePHPコントローラからjson配列を取得するために$ .post()を使用しようとしています。私はautorenderをfalseにしてjson配列を呼び出すので、ビューファイルは必要ないと考えました。私は$ .ajaxと$ .getを使用すると応答を得ることができますが、$ .postを使用すると400のBad Requestが発生します。

マイコード:

$.post("controller/action",{id: "1"}, function(data) { 
     console.log(data); 
}); 

public function action() { 
     $this->autoRender = false; 
     $array = $_POST; 
     header("Content-type: application/json"); 
     echo json_encode($array); 
     exit; 
} 

おそらくより良いこれを行う方法上の任意のヘルプやヒント?前述のように$ .get、$ .ajaxは動作しますが、データコールバックは何も返しません(しかし、firebugはレスポンス配列を表示します)。

+0

これは) 'で閉じる必要がありますちょうどあなたの質問にタイプミスが、' $の.post'かもしれ 'と私は確かに、CakePHPの専門家ではないよ - 私は'の出口() 'shouldnことかなり確信していますそこにいない – ManseUK

答えて

1

私が見ている1つのエラーは、json出力を予期していないことです。

$.post("controller/action",{id: "1"}, function(data) { 
     console.log(data); 
},"json");