Reactjsを使用して、フロントエンドのみの基本的な天気アプリを構築しています。 APIリクエストには、Fetch APIを使用しています。私のアプリでは、 シンプルなAPI から現在の場所を取得していますが、JSONオブジェクトとして場所を提供します。しかし、Fetch APIを通じてリクエストすると、このエラーが発生します。
Failed to load http://ip-api.com/json: Request header field Access-Control-Allow-Origin is not allowed by Access-Control-Allow-Headers in preflight response.
そこで、私はこれを解決するための複数の解決策を探しました。
では、どうすれば問題を永久に解決できますか? Fetch APIでHTTPリクエストのCORS問題を解決するために使用できる最良のソリューションは何ですか?
そのAPIは寛容であるように見え、Access-Control-Allow-Origin:*
私はあなたの問題の原因を理解していませんが、単に fetch API であるとは思いません。
これはFirefoxとChromeの両方でうまくいきました...
fetch('http://ip-api.com/json')
.then( response => response.json() )
.then( data => console.log(data) )
プロキシソリューションを使用する必要がありますが、プロキシの代わりにクライアントのIPを渡します。以下は、WikiMediaのIPを使用して指定したAPIのURL形式の例です。