$.getJSONに関するメモ

別ドメインのサーバーにJSONファイルを配置して$.getJSONをテストしたときのメモ。

最初にまとめとして、$.getJSONを色々と試してみた結果、クロスドメインに対処するための裏ワザ的な作業や要素(「Access-Control-Allow-Origin」の設定)があり、それ以外にもエラーや不具合が多くて、WebAPIを利用するときに$.getJSONで直接ではなくPHPを挟んで使うべきなんでしょうというのが結論。

ローカルサーバーも利用して試したこともあるので一概には言えない部分もあると思いますけれど、他にもステータス200なのに意図したとおりの処理にならないなど、もろもろ使いずらい。

たぶん、ほぼ直接APIにアクセスするために$.getJSONは使わないとおもいますが、使う場合もあるかもしれないので忘れそうなことで気になった点をメモします。

https://developer.mozilla.org/ja/docs/HTTP_access_control

$.getJSONに設定するJSON形式のデータのファイル名は、json.jsonとするとエラーになる。

$.getJSON("http://example.com/json.json", function(data){ //エラー

JSONP形式のファイルを$.getJSONでロードするとき、コールバック(?callback=?)なしで読み込むとエラーになる。というか関数実行されるけれどサーバー拒否みたいな・・・

$.getJSON("http://example.com/jsonp1.js", function(data){ //エラー

JSONP形式のファイルの拡張子は、.jsにする。それ以外は警告?がでる。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です