CORS(Cross-Origin Resource Sharing)とは、ウェブブラウザがリソースを取得することができる-originの間でデータを共有するための仕組みです。 問題は、異なるドメイン名やポート番号などを跨ってリクエストした場合に、サーバー側からCORSポリシーやヘッダーを返せないことです。 しかし、「めんどい」なら、いくつかの方法があります。 1. **proxyサーバー**: プロキシサーバーがCORSポリシーを無視したり、代わりに新しいリクエストを生成するように設定できるため、これを使うと便利です。ただし、このアプローチでは、リクエストを処理する際に追加のオーバーヘッドが発生します。 2. **JSONP**: JSONPはCORS以前から存在していた方法で、サーバー側のJavaScriptファイルを読み込んでデータを受け取ることができます。ただし、このアプローチでは、デリゲートされた関数名が指定されないと利用できないため、安全性が心配される場合があります。 3. **iframe**: iframeにCORSポリシーを無視するように設定し、JSONデータをiframeのsrc属性で読み込むこともできます。しかし、このアプローチは、セキュリティ上問題があるためよくないとされています。 4. **APIキーの使用**: APIキーを利用して、サーバー側のデータにアクセスすることができます。これによりCORSポリシーが必要なくなるので便利です。ただし、このアプローチでは、データのセキュリティは保証されないため注意が必要です。 5. **CORSヘッダーの設定**: サーバー側でCORSヘッダーを設定することでCORSポリシーを無視してリクエストを受け取ることができます。これにより安全なAPIが提供されるので便利です。