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”);
などとしても取り出すことができるようです。
すぐ忘れるのでメモ!