以下の質問:
実際のプロジェクトの開発では、私はので、私たちの開発環境の、PHPを使用して、背景をVUE + axiosを使用して、フロントエンドの開発を担当しています別のドメイン名とポートの下にあり、
だから、そこにはもちろんPHPサーバーが直接この問題を解決することができ、クロスドメインの問題となっていますが、バックエンドの設定後、フロントたびに発行オプションを要求し、その要求を投稿しています
これは端的に、各インタフェース要求倍ということです。私たちは、その理由を分析することがあります。
セキュリティ上の理由からではなく、すべてのアクセスバックエンドサービスへのドメイン名のことができます。実際には、正式なクロスドメインの前に、ブラウザが起動します事前スクリーニング、サーバが復帰方法を許可できるようにするために使用に必要な(つまり、オプション要求)として(例えばGET、POSTなど)、
起源のクロスドメインアクセス(ソースまたはドメイン)だけでなく、必要な資格情報(認証情報)など。その後、ブラウザがどのような状況下でそれをプリフライトすることができますか?
ソリューション:
図1は、要求ヘッダ内の他のパラメータaxios(開発ニーズに起因し、リクエストヘッダは、トークンのようないくつかの他のパラメータを追加しません)
解決策:異常なパラメータを除去することができます
2、リクエストヘッダaxiosデフォルトに起因する:コンテンツタイプ:アプリケーション/ JSON、我々はバックグラウンドに送っはFORMDATAに変更することができます
axios.defaults.headers [ ' のContent-Type ' ] = ' アプリケーション/ x-www-form-urlencodedで'。
この変更が完了した後、またあなたは、データをフォーマットする必要があり、その後、参照してください。
<スクリプトタイプ= " テキスト/ javascriptの" SRC = " https://cdn.bootcss.com/qs/6.5.1/qs.min.js " > </ SCRIPT>
ライブラリーの導入が完了した後、データ転送が行われます
Qs.stringify({ 携帯:この.mobile、 verfiyCode:この.sms_code、 })、
[OK]を、我々はその要求を送信されていない場合、選択肢がなくなって要請しました。