クロスドメイン呼び出しのjson問題
暇なときにブログサイトを作り、サイトがネットワークを開放してプログラム機能が完成したところ、ようやくクロスドメインの問題が見つかりました。たとえば、abc.comを使ってシステムを開いたところ、すべて正常でした。バックグラウンドでのファイルリクエストエラーはありませんでした。 www.abc.comを使用して再試行しましたが、一部のフォントファイルまたは外部cssファイルへの参照が要求に失敗しました
Font from origin 'http://lovefeel.top' has been blocked from loading by Cross-Origin Resource Sharing policy: No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://www.lovefeel.top' is therefore not allowed access.
ブラウザのデバッグエラーは次のとおりです。
IISでのソリューション
# 在IIS添加如下标头即可
Access-Control-Allow-Headers:Content-Type, api_key, Authorization
Access-Control-Allow-Origin:*
IISを開き、「HTTP応答ヘッダー」を見つけてクリックします。
右側に追加が表示され、次のヘッダーを追加します
両方のルールを同時に書き込むことをお勧めします。一部のネチズンはAccess-Control-Allow-Originのみを書き込みます。*解決されました。ファイル要求は正常です。
Nginxサーバー
NginxモジュールHttpHeadersModuleを介してAccess-Control-Allow-Originによって許可されたアドレスを追加します。
Nginx confディレクトリのnginx.confを変更し、次のコードを追加します
location ~* \.(eot|ttf|woff|svg|otf)$ {
add_header Access-Control-Allow-Origin *;
}
// eot|ttf|woff|svg|otf,表示请求后缀类型,也可以直接写如下代码
location / {
add_header Access-Control-Allow-Origin *;
}
Apacheサーバー
サーバーがApacheの場合、次のように構成できます。
<IfModule mod_setenvif.c>
<IfModule mod_headers.c>
<FilesMatch "\.(cur|gif|ico|jpe?g|png|svgz?|webp)$">
SetEnvIf Origin ":" IS_CORS
Header set Access-Control-Allow-Origin "*" env=IS_CORS
</FilesMatch>
</IfModule>
</IfModule>
参照:http : //www.bubuko.com/infodetail-1022595.html
http://www.mamicode.com/info-detail-470472.html
Apache公式ドキュメント:http : //tomcat.apache.org/tomcat-7.0-doc/config/filter.html#CORS_Filter
さらに、クロスドメインのセキュリティ問題などがあります。詳細については、Danielの記事を参照してください
以下のようなクロスドメインのAjax、JSONクロスドメイン、ソケットキャンバスクロスドメインおよびクロスドメインソリューションの生成元ポリシーの制限http://blog.csdn.net/freshlover/article/details/44223467