亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

SpringBoot跨域Jsonp和Cors的方法

 更新時(shí)間:2019年08月29日 11:32:35   作者:994🍔  
這篇文章主要介紹了SpringBoot跨域Jsonp和Cors的方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧

有一次我的項(xiàng)目中采用了前后端分離的模式,引起了跨域問(wèn)題,本文將介紹我所采用的跨域解決方法。

首先要了解產(chǎn)生跨域的本質(zhì),也就是同源策略的限制,源是指域名、端口號(hào)、協(xié)議,有一者不相同將被瀏覽器拒絕接受響應(yīng)信息,(請(qǐng)求可以發(fā)送出去,但是瀏覽器不接受響應(yīng))。

解決方法:

1. jsonp

jsonp的原理的 src="" 屬性不受同源策略的限制,動(dòng)態(tài)創(chuàng)建一個(gè)callback回調(diào)函數(shù),服務(wù)器調(diào)用回調(diào)函數(shù)把數(shù)據(jù)放進(jìn)去,具體的細(xì)節(jié)打算以后做一個(gè)專(zhuān)門(mén)講解。

這里給一個(gè)模版:

$.ajax({
     type: "get",        //jsonp只能使用get
     async: false,
     url: ""
     dataType: "jsonp",
     jsonp: "callback",    
     jsonpCallback:"message",    //注意這里給回調(diào)函數(shù)起的名字
       success: function(json){
       
      }
    })

如果這里你的回調(diào)函數(shù)起名為message,那么你在后端返回json的時(shí)候,也要注意在最外面包一層message{}。

這里jsonp的確定也可以明顯的看出,只支持get請(qǐng)求,原因就是因?yàn)橥ㄟ^(guò)src=“”發(fā)送請(qǐng)求,所以可以知道是url傳參。

那么jsonp的好處是什么呢,兼容性,幾乎所有瀏覽器都支持(包括一些版本比較老的),不需要XMLHttpRequest或ActiveX的支持。

2. cors

又稱(chēng)跨域訪(fǎng)問(wèn),瀏覽器將cors請(qǐng)求分為簡(jiǎn)單請(qǐng)求和非簡(jiǎn)單請(qǐng)求,因?yàn)楸疚闹饕v解具體的方法,所以關(guān)于細(xì)節(jié)部分有興趣可以去看其他博客或者我以后再做一篇具體的講解(和jsonp一起)。在springboot中,官方已經(jīng)提供了支持。直接貼代碼:

方式一:全局定義

@Configuration
public class CorsConfig implements WebMvcConfigurer {
  private CorsConfiguration buildConfig() {
    CorsConfiguration corsConfiguration = new CorsConfiguration();
    List<String> list = new ArrayList<>();
    list.add("*");
    corsConfiguration.setAllowedOrigins(list);
    /*
    // 請(qǐng)求常用的三種配置,*代表允許所有,當(dāng)時(shí)你也可以自定義屬性
    (比如header只能帶什么,只能是post方式等等)
    */
    corsConfiguration.addAllowedOrigin("*");  //支持的源
    corsConfiguration.addAllowedHeader("*");  //header限制
    corsConfiguration.addAllowedMethod("*");  //支持方法
    return corsConfiguration;
  }
  @Bean
  public CorsFilter corsFilter() {
    UrlBasedCorsConfigurationSource source
      = new UrlBasedCorsConfigurationSource();
    source.registerCorsConfiguration("/**", buildConfig());
    return new CorsFilter(source);
  }
}

方式二:局部定義

@CrossOrigin(origins = "*",allowCredentials="true",allowedHeaders = "",methods = {})

直接在需要跨域的方法上添加注解,不過(guò)我沒(méi)試過(guò),有興趣或者有這種方式需求的朋友可以嘗試一下。

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • Hadoop1.2中配置偽分布式的實(shí)例

    Hadoop1.2中配置偽分布式的實(shí)例

    這篇文章主要介紹了Hadoop1.2中配置偽分布式的實(shí)例,使用的系統(tǒng)是linux mint 15 64bit,hadoop使用的是1.2.1版本,需要的朋友可以參考下
    2014-04-04
  • java中的instanceof關(guān)鍵字詳細(xì)解讀

    java中的instanceof關(guān)鍵字詳細(xì)解讀

    這篇文章主要介紹了java中的instanceof關(guān)鍵字詳細(xì)解讀,instanceof 是 Java 的保留關(guān)鍵字,它的作用是測(cè)試它左邊的對(duì)象是否是它右邊的類(lèi)的實(shí)例,返回 boolean 的數(shù)據(jù)類(lèi)型,需要的朋友可以參考下
    2024-01-01
  • SpringBoot微信消息接口配置詳解

    SpringBoot微信消息接口配置詳解

    這篇文章主要介紹了SpringBoot 微信消息接口配置詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-06-06
  • JVM指令的使用深入詳解

    JVM指令的使用深入詳解

    這篇文章主要給大家介紹了關(guān)于JVM指令使用的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-01-01
  • 在MyBatis中實(shí)現(xiàn)一對(duì)多查詢(xún)和多對(duì)一查詢(xún)的方式詳解(各兩種方式)

    在MyBatis中實(shí)現(xiàn)一對(duì)多查詢(xún)和多對(duì)一查詢(xún)的方式詳解(各兩種方式)

    今天通過(guò)兩種方法分別給大家介紹在MyBatis中實(shí)現(xiàn)一對(duì)多查詢(xún)和多對(duì)一查詢(xún)的方式,每種方式通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),需要的朋友參考下吧
    2022-01-01
  • java多線(xiàn)程編程技術(shù)詳解和實(shí)例代碼

    java多線(xiàn)程編程技術(shù)詳解和實(shí)例代碼

    這篇文章主要介紹了 java多線(xiàn)程編程技術(shù)詳解和實(shí)例代碼的相關(guān)資料,需要的朋友可以參考下
    2017-04-04
  • Java import static及import原理區(qū)別解析

    Java import static及import原理區(qū)別解析

    這篇文章主要介紹了Java import static及import原理區(qū)別解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-10-10
  • 使用Java DOM解析器修改XML文件內(nèi)容的操作方法

    使用Java DOM解析器修改XML文件內(nèi)容的操作方法

    在Java中,XML文件的解析和修改可以通過(guò)多種方法實(shí)現(xiàn),其中DOM(Document Object Model)是一種常用的方式,在本文中,我們將介紹如何使用Java DOM解析器修改XML文件中的內(nèi)容,并給出一個(gè)具體的示例,需要的朋友可以參考下
    2024-08-08
  • 淺談mac下maven的安裝配置與使用

    淺談mac下maven的安裝配置與使用

    這篇文章主要介紹了淺談mac下maven的安裝配置與使用,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-07-07
  • Java設(shè)計(jì)模式之適配器模式

    Java設(shè)計(jì)模式之適配器模式

    這篇文章介紹了Java設(shè)計(jì)模式之適配器模式,文中通過(guò)示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-09-09

最新評(píng)論