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