ホームページ >ウェブフロントエンド >jsチュートリアル >「XMLHttpRequest を読み込めません。プリフライト要求への応答がアクセス制御チェックに合格しません」エラーを解決する方法
問題:
ngResource を使用して REST API にアクセスする場合アマゾン ウェブ サービスでは、次のような問題が発生します。エラー:
XMLHttpRequest cannot load <url>. Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin '<origin>' is therefore not allowed access.
原因:
この問題は、クロスオリジン リソース共有 (CORS) の制限によって発生し、1 つのドメイン上の Web アプリケーションがリクエストを行うことができなくなります。明示的なしで他のドメインへ
解決策:
CORS 問題に対処するには、複数のアプローチがあります:
1. CORS を無効にする:
2.ブラウザ プラグイン:
3.プロキシ サーバー:
4.サーバー構成:
5. Promise を使用した HTTP の例:
const makeRequest = (url, options) => { return new Promise((resolve, reject) => { const request = new XMLHttpRequest(); request.open(options.method, url); request.setRequestHeader('Accept', 'application/json'); request.onload = () => { if (request.status >= 200 && request.status < 300) { resolve(request.response); } else { reject({ status: request.status, statusText: request.statusText }); } }; request.onerror = () => { reject({ status: request.status, statusText: request.statusText }); }; request.send(options.body); }); };
以上が「XMLHttpRequest を読み込めません。プリフライト要求への応答がアクセス制御チェックに合格しません」エラーを解決する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。