こんなことをして、ハマっていた
- WPで固定ページ(ページA)を作る
- ページAから、ajaxでロードしたいコンテンツを生成するページ(ページB)を作り、そっちでjson/xml/jsonp等を出力する
- ページAから、ajaxでページBを読み込む
- 404エラー orz
デバッグでみると、ページは404エラーを出しているんだが、そのurlを直接アクセスすると問題なく出ている。
詳しい話を割愛すると、以下のようにすれば解消
- WPでの固定ページではなく、適当なファイル(ajax-load.phpなど ページC)をテーマフォルタに作る
- そのファイルからwp-load.php をinclude/requireする
- 同じ処理をするようにして、ページAからはページCをajaxのurlにする
参考: http://stackoverflow.com/questions/3445270/jquery-ajax-returning-404-error-but-correct-response