angularメモ帳

angular始めました。
動かすために調べたことをメモしています。

1029 views

CORSがマジでうざい

ローカルにRESTサーバーを作った後、pythonやjavaでpostやgetのプログラムを書くと動くのに、angularでhttpの通信をやると、CORS!CORS!!CORS!!!
何故、angularだけこんなうっとおしいことになるかというと、悪さをしているのはブラウザだから。
pythonやjavaはブラウザを介さないけど、angularはブラウザで動くせいでCORSに引っ掛かる。
これを避けるには、クライアント、サーバー両方で設定が必要だけど、納得いかない、メンドクサイ。
クライアントで設定するのは理解できるけど、サーバーまで設定を弄らないといけないのは、不本意。
クロスサイトスクリプティングを気にしているとのことだけど、そもそもがどちらもローカルサーバーなんだ。
もう、ほんっとにうっとおしい イラッ

そんなあなたに。

コマンドラインからこんな感じでchromeを起動しましょう。

"C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" --disable-web-security --user-data-dir="C:\Users\<ユーザー名>\Local\Google\Chrome\User Data"

ブラウザがCORSしなくなります。
「CORS」が「殺す」の略に見えたら、ぜひお試しください。

同じlocalhostなのに

異なるドメインだったらCORSが発生するのはわかる。
しかしだ、しかし。どっちもローカルなんだよ。
ドメイン名はどう考えてもlocalhostで同じやろがい!!
という方へ。
ようやくわかりました。原因はポートです。
ドメインとはホスト名+ポート番号だったわけです。

自分の環境だとangularのポートは4200、RESTサーバーのポートは80 or 443。
つまりangular側のドメインはlocalhost:4200、RESTサーバのほうはlocalhost:80 or localhost:443なので、これは腹立つことに異なるドメインです。
ローカルで同じポートって使えへんやん…。
別PCに移動したら、今度は異なるドメインやん…。

メンドくさぁ…

現場からは以上です。

Page 31 of 38.

前のページ 次のページ



[添付ファイル]

1.angular flex layoutについて.docx  


お問い合わせ

プロフィール

すぺぺぺ

自己紹介

本サイトの作成者。
プログラムは趣味と勉強を兼ねて、のんびり本サイトを作っています。
フレームワークはdjango。
ChatGPTで自動プログラム作成に取り組み中。

サイト/ブログ

https://www.osumoi-stdio.com/novel/

ツイッター

@darkimpact0626