Ajaxでデータを取得する際、異なるドメインからの取得(クロスドメインリクエスト)は制限されるルールになっている。 データ提供側の許可が必要。提供側はヘッダーに許可範囲を返すことで実現する。 後から追加されたルールなので古いブラウザでは無視されてしまう。 単純明快、responseオブジェクトのヘッダーに追加する方法。
response クラスには専用のメソッド(accessControl )が用意されている。こちらを使う方がスマートだろう。3種類の呼出方法が用意されている。コメントを自己流で訳してみた。間違っているかも。 allowOrigin :許可するドメインをカンマ区切りで指定する。無制限に許可する場合はアスタリスク "*" を設定する。allowCredentials :クロスドメインリクエスト実行時にブラウザからクッキーを送信するか。許可ドメインが"*" 以外のときブラウザが尊重する。allowMethods :許可するHTTPメソッドをカンマ区切りで指定する。nullなら制限なし。
引数で指定しない呼出の場合、 allowCredentials=false 、allowMethods=null で解釈される。 |
備忘録 >