他のドメインから外部APIからデータを取得する必要があります。 私はローカルホスト上runnedテストアプリケーションを使用して、私はエラーを取得:ユーザエージェント(クロム)のCORS要求をプログラムで許可する
Origin http://localhost is not allowed by Access-Control-Allow-Origin.
私はへのアクセスを取得しよう:でhttps://api.coinmarketcap.com/v1/ticker/を方法
を取得し、私は、検索の多くを行なったし、:
- 私はnode.js、CURLを使ってそのAPIを尋ねることができます。また、フロントテストコードでフロントエンドコードを実行することもできます。
- クロムの拡張子を使用すると - https://chrome.google.com/webstore/detail/allow-control-allow-origi/nlfbmbojpeacfghkpbjhddihlkkiljbi?hl=enもすべて正常に動作します
しかし、不幸にも、私のページロードでは単にAJAXリクエストだけで、そのAPIにアクセスできず、エラーになることはありません。
私の予測では、ユーザーエージェント(chrome)がどういうわけか自分のリクエストをブロックしているということです。 クロム拡張機能を使用できません。携帯電話から自分のウェブサイトにアクセスして、そのデスクトップ拡張機能を利用できないようにしたいからです。今、私の解決策は、 "プロキシ" であるために
は、そのAPIと流れがどのように見えるアクセスできるサーバーのNode.js:
FE
-- ASK BE -->
BE
-- ASK API -->
-- RESPONSE TO BE -->
BE
-- RESPONSE TO FE -->
FE SHOWS EVERYTHING
FE - フロントエンドを、BE - バックエンド(Node.jsのプロキシ)、API - 外部API
しかし、私はBEの不要なコードを避けたいです。たぶん、いくつかの解決策がありますか? 追加拡張子なしで外部ドメインに渡すことができるようにChromeに伝えるいくつかの魔法のようなヘッダがありますか?
いいえ、フロントエンドでCORSを回避することはできません。 – Barmar
私は、ブラウザがAccess-Control-Allow-Originヘッダなしであなたを許可しているとは思わない。 – vibhor1997a