nodeJSクロスドメインソリューション

ウェブドメイン名から別のドメイン名へのブラウザは、リソース、ドメイン名、ポート、プロトコルのいずれか別のを要求した場合、また、相同な問題として知られているブラウザのセキュリティメカニズム、によって引き起こされるクロスドメイン、です。
だから、どのようにクロスドメインにそれを解決するには?
図1に示すように、クロスドメインを含む、(指定された外部ファイルを含む)scriptタグのsrc属性によって読み込まないクロスドメインの問題にリソーススクリプトタグを読み込み、スクリプトタグを使用して、クロスドメインJSONPソリューションを使用して、リソースが含まれていますこれは、任意の種類のファイル(等TXT、PHP、であってもよい)であってもよい
2は、クロスドメイン、次のサンプルコードを解決するためにnodejsヘッダヘッダを使用してサーバ側に設けられている。
CONSTは、HTTP(「HTTP」)が必要=;
http.createServer((REQ 、RES)=> {
res.setHeader(「アクセス制御-許可原点」、「*」);
res.setHeader(「アクセス制御-許可-ヘッダ」、「タイプのコンテンツ、コンテンツ長、認可、受け入れ、X-要求-With-、yourHeaderFeild ");
res.setHeader("アクセス制御-許可-メソッド"" PUT、POST、GET、DELETE、OPTIONS ");
res.setHeader(" X-Poweredのバイ」 、 '3.2.1');
res.setHeader( "コンテンツタイプ"、 "ファイルアプリケーション/ JSON;のcharset = UTF-8");
そのロジックコード
3、nodejsでCORSの使用は、クロスドメインの問題を処理するために
nodejsはバックグラウンドでプロキシサーバを書くと私たちはドメイン間で要求データにAJAXを使用する最初のときのAJAX要求を当社のプロキシサーバーを訪問するために行くのではなく、アクセスし、発生したあなたの最終的な目的地アドレス
( 'プロキシサーバアドレス'、{$ .post
URL:
'宛先アドレス'、
。})を(関数(RES){
にconsole.log(RES); //データが返さ
});
次に、サーバークロスドメインの問題を解決するために使用CORSに作用する
//このファイルは、クロスドメインを解決するために別のプロキシサーバーを作るために設計されて、あなただけのファイルを実行する行に、このサーバーを開きます。
データを取得するための最初の出会いのクロスドメインアクセス場合//アクセスサーバのアドレスライン
エクスプレスCONST =( "エクスプレス")を必要とする
CONST CORSは=( "CORS")を必要とする
CONSTは{GET}( "Axios")デフォルト;. //使用axois送信ネットワーク要求必要=
CONSTアプリ=エクスプレス();
app.use(CORS()); //省は、このクロスドメインに解決されていた
//アクセスは、ローカルサーバの場合は、今、このステップは、クロスドメインの問題解決したと同等です
//場合にアクセスを他のサーバーのアドレスは、クロスドメインの問題解決するために、プロキシサーバーの等価で
app.use(express.jsonを());
app.use(express.urlencoded())。
プロキシサーバ要求されたアドレス@
app.post( "/プロキシ"、非同期(REQ、RES)=> {
のawait GET結果CONST =(req.body.urlは); //これは、行われるネットワーク要求に相当しますあなたに、ブラウザのアドレス要求に直接入力すると、クロスドメインは、存在しない
res.json({
コード:. 1、
情報:result.data、Axios //データの属性データで要求されたデータを返します
});
});
(3003、()=> {app.listen
;はconsole.log( "ポート3003上で実行しているローカルプロキシサーバ")
})。

元の記事を公開 ウォンの賞賛0 ビュー4

おすすめ

転載: blog.csdn.net/weixin_45537076/article/details/104466002