ホームページ > 記事 > ウェブフロントエンド > Vue でクロスドメインリクエストを行うにはどうすればよいですか?
Vue は、最新の Web アプリケーションを構築するための人気のある JavaScript フレームワークです。 Vue を使用してアプリケーションを開発する場合、多くの場合、異なるサーバー上にあるさまざまな API と対話する必要があります。クロスドメイン セキュリティ ポリシーの制限により、Vue アプリケーションが 1 つのドメイン名で実行されている場合、別のドメイン名の API と直接通信することはできません。この記事では、Vue でクロスドメイン リクエストを行うためのいくつかの方法を紹介します。
一般的なクロスドメイン ソリューションは、プロキシを使用することです。この場合、Vue アプリケーションは、同じサーバーに HTTP リクエストを送信することで、ブラウザーの同一オリジン ポリシーをバイパスします。サーバーはリクエストを受信し、実際の API に転送します。プロキシ サーバーは API と同じドメイン上にあるため、ブラウザはこれに対してクロスドメイン セキュリティ制限を発行しません。プロキシを設定する方法の例を次に示します。
// vue.config.js module.exports = { devServer: { proxy: { '/api': { target: 'https://example.com', changeOrigin: true, pathRewrite: { '^/api': '' } } } } }
上記の例では、/api
で始まるすべてのリクエストを https://example.com# にプロキシします。 # #優れた。
changeOrigin は
true に設定され、ソースが
target のアドレスに設定され、
pathRewrite が
/api## に設定されます。 # リクエストから削除します。 2. JSONP (GET リクエストのみ)
タグを作成して追加します。 document.head
に追加します。サーバーがデータを返したら、コールバック関数の名前を window.getdata
に設定し、コールバック関数の 3f1c4e4b6b16bbbd69b2ee476dc4f83a
タグを削除して、データを に渡します。解決
コールバック。 3. CORS
以下は CORS の例です:
export default { getData() { return fetch('https://example.com/data', { method: 'GET', mode: 'cors', headers: { 'Access-Control-Allow-Origin': '*' } }) .then(response => response.json()) .then(data => data); } }
上の例では、
fetch 関数を使用して API データを取得し、同時に mode を変更します。
CORS を有効にするには、cors
に設定します。また、リクエスト ヘッダーに Access-Control-Allow-Origin
ヘッダーを設定します。これにより、すべてのオリジンが API にアクセスできるようになります。 CORS が適切に機能するには、サーバーが応答でこのヘッダーを返す必要があることに注意してください。 結論
以上がVue でクロスドメインリクエストを行うにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。