問題:クロスドメイン問題CORS

問題

以前は、バックエンドの制御層コードを作成するときに、
フロントエンドが独自のリクエストを作成するときに、クロスドメインの問題が発生することがよくありました。
なぜですか?IDEAから直接
バックエンドサービスポート8080を開きます

静的リソースファイルhtmlにはjqueryリクエストがあり
ます。ブラウザはポートが
63342であることを検出しました。リクエストcorsによってインターセプトされました
明らかに、127.0.0.1:63342と127.0.0.1:8080は同じポートではありません
ハグワン

Access to XMLHttpRequest at xxx orgin xxx  ... 

ドメインを越えてアクセスすることはできません!

その行を変更し、バックエンドコードを変更
し、コントローラーに追加しました


@CrossOrigin("*")

最も簡単な方法で解決できます

注釈付きバージョンは、Spring Bootの下で構成できます

@Configuration
public class MyConfiguration {

    @Bean
    public WebMvcConfigurer corsConfigurer() {
        return new WebMvcConfigurerAdapter() {
            @Override
            public void addCorsMappings(CorsRegistry registry) {
                registry.addMapping("/**");
                // 这样可以调整颗粒度 更加自由
                registy.addMapping("/api");
            }
        };
    }
}

xmlバージョン

<mvc:cors>
        <mvc:mapping path=""/>
</mvc:cors>

まとめ

XMLHttpRequestリクエストのみがクロスドメインを持っています
一般的なものは、ネイティブXmlリクエスト
jqueryカプセル化XmLリクエストです。
通常のhref = "https:// xxx"は表示されません

非相同、非相同、および非相同プロトコルはクロスドメインを生成します

元の記事を22件公開 Likes2 Visits 881

おすすめ

転載: blog.csdn.net/weixin_41685373/article/details/104979014