angular始めました。
動かすために調べたことをメモしています。
1029 views
ローカルに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」が「殺す」の略に見えたら、ぜひお試しください。
異なるドメインだったら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/