cakephp使用時にでjQueryで$.post()を使おうとしてハマったこと

jQuery.ajax()はオプションとして設定出来る項目が多すぎるので、
引数にオブジェクトを渡して使用する。例えば以下のような感じ


jQuery.ajax({
url: "test.html",
cache: false,
success: function(html){
$("#results").append(html);
}
});


jQuery.post()は4つの引数をとる。以下のような感じ


jQuery.post(
'post.php',
data,
callbackFn,
'JSON'
);

引数の数が違う。型も違う。
結論から言うとpostメソッドにオブジェクト型の引数を渡していた。
以下のような感じ。


jQuery.post({
url: 'post.php',
data:data,
callback:callbackFn,
type:'JSON'
});

もちろんきちんと動かない。
ただ、firebugが「リクエスト先が存在しない」というエラーをはいてくれず、
かわりにcakephpがレスポンス内に「viewファイルが無いみたいですよ」
というエラーをくれていた。

firebug上でリクエスト先のURLがおかしなことになっていたが、
不慣れなcakephpを使っていたので原因がサーバ側、.htaccessにあると
思いこんでなかなか気がつけなかった。

通信関連のことでハマってるときは、フレームワークうんぬんのせいにしないで、
httpリクエストとレスポンスの内容をきちんと見ないと、ダメ・ダメ。