jqueryでWebAPIなどでデータがほしい場合、外部ドメインの場合、データタイプはjsonpを使いますが
これはダメ
<script>
var url = "http://hoge.com/get.json";
var data = {
page:"1"
};
$.ajax({
type:'POST',
url:url, //ここにURLをセット
dataType: 'jsonp',
cache: false,
scriptCharset: 'utf-8',
jsonpCallback:'data',
data:data,
success:function (data) {
}
});
</script>
なぜか?
こたえ
jsonpの場合はPOSTが使えません。
GETだけです。
ブラウザ側はPOSTを無視してGETで送る(ブラウザによるかも?)ような感じで、サーバー側で見ても
なぜかPOSTデータがありません。
ということで、素直にGETで実装しましょう。
CakePHPでデータを受け取る場合は
$this->request->query の中にGETデータが入ってきます。
Hash::get($this->request->query, “hoge”);
などとしても取り出すことができるようです。
すぐ忘れるのでメモ!

