国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

本地HTML訪問后端獲取數(shù)據(jù)使用@CrossOrigin仍出現(xiàn)跨域問題

這篇具有很好參考價(jià)值的文章主要介紹了本地HTML訪問后端獲取數(shù)據(jù)使用@CrossOrigin仍出現(xiàn)跨域問題。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

Access to XMLHttpRequest at 'http://localhost/api/admin/authorizations' from origin 'http://localhost:9528' has been blocked by CORS policy: Response to preflight request doesn't pass access control check: The value of the 'Access-Control-Allow-Credentials' header in the response is '' which must be 'true' when the request's credentials mode is 'include'. The credentials mode of requests initiated by the XMLHttpRequest is controlled by the withCredentials attribute.

Access-Control-Allow-Credentials 這個(gè)頭的作用,果然藥到病除。這個(gè)是服務(wù)端下發(fā)到客戶端的 response 中頭部字段,意義是允許客戶端攜帶驗(yàn)證信息,例如 cookie 之類的。這樣客戶端在發(fā)起跨域請(qǐng)求的時(shí)候,不就可以攜帶允許的頭,還可以攜帶驗(yàn)證信息的頭,又由于客戶端是請(qǐng)求框架是 axios,并且手殘的設(shè)置了 withCredentials: true,意思是客戶端想要攜帶驗(yàn)證信息頭,但是我的服務(wù)端設(shè)置是 ‘supportsCredentials’ => false, ,表示不允許攜帶信息頭。

WebMvcConfigurer配置跨域用法介紹
https://blog.csdn.net/munangs/article/details/132223699

@CrossOrigin(originPatterns = “*”,allowCredentials = “true”)

package xunan.management.boot.config;

import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.CorsRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;

@Configuration
public class CrossConfig implements WebMvcConfigurer{
//    @Override
//    public void addCorsMappings(CorsRegistry registry) {
//        registry.addMapping("/**")
//                .allowedHeaders("*")
//                .allowedMethods("POST", "GET", "PUT", "OPTIONS", "DELETE")
//                .allowCredentials(true)
//                .maxAge(3600);
//    }
    /**
     *             .addMapping("/**")// 允許跨域訪問的路徑
     *             .allowedOrigins("*")// 允許跨域訪問的源
     *             .allowedMethods("POST", "GET", "PUT", "OPTIONS", "DELETE")// 允許請(qǐng)求方法
     *             .maxAge(168000)// 預(yù)檢間隔時(shí)間
     *             .allowedHeaders("*")// 允許頭部設(shè)置
     *             .allowCredentials(true);  // 是否發(fā)送cookie
     */

    //以上這段代碼等于@CrossOrigin(allowCredentials = "true")
}

如果用原生的AJAX是加載本地文件就不會(huì)出現(xiàn)錯(cuò)誤。當(dāng)然,這個(gè)jquery的load放在服務(wù)器上通過http加載還是支持的。也有例外比如在firefox和ie瀏覽器使用$.ajax加載本地html或txt文件時(shí),不會(huì)報(bào)錯(cuò)。

當(dāng)其他瀏覽器控制臺(tái)彈出下面報(bào)錯(cuò),表明這個(gè)不支持跨域?yàn)g覽本地文件

Access to XMLHttpRequest at ‘file:///F:/%E4%BB%A3%E7%A0%81/Jquery/a.txt’ from origin ‘null’ has been blocked by CORS policy: Cross origin requests are only supported for protocol schemes: http, data, chrome, chrome-extension, https.

其實(shí) ,禁止跨域是瀏覽器的安全限制機(jī)制,在每個(gè)瀏覽器下都有,如在chrome、Firefox、opera 、360 都是這樣的,同樣會(huì)報(bào)告上述錯(cuò)誤,但是可以通過設(shè)置來繞過這個(gè)限制(如果經(jīng)常 完前端代碼 建議在本機(jī)裝個(gè)web容器。。。),常見的方式是 右擊chrome快捷方式,選擇“屬性”,在“快捷方式”下的“目標(biāo)”中添加" --allow-file-access-from-files"(最前面有個(gè)空格),重啟chrome即可如下:

“C:\Program Files (x86)\Google\Chrome\Application\chrome.exe” –allow-file-access-from-files   //注意有空格,關(guān)閉瀏覽器然后重啟瀏覽器即可支持

Jquery的load()一般是加載服務(wù)器上的文件(非本地文件),這個(gè)概念需要弄清楚。要發(fā)布網(wǎng)站后通過http協(xié)議進(jìn)行訪問,本地file協(xié)議瀏覽會(huì)產(chǎn)生跨域問題。
除非是靜態(tài)文件html調(diào)用load,但是這個(gè)也是有的瀏覽器支持,有的不支持。

本地HTML訪問后端獲取數(shù)據(jù)使用@CrossOrigin仍出現(xiàn)跨域問題,項(xiàng)目開發(fā),html,前端,java
加載js文件時(shí)使用了file協(xié)議,該協(xié)議會(huì)導(dǎo)致跨域,而使用htpp、https等協(xié)議時(shí)則沒有跨域問題。而使用file協(xié)議則是因?yàn)樵跒g覽器中查看html文件時(shí)沒有起服務(wù)!平時(shí)使用webstorm時(shí)會(huì)自動(dòng)起服務(wù),所以沒有注意到這個(gè)問題。文章來源地址http://www.zghlxwxcb.cn/news/detail-643241.html

到了這里,關(guān)于本地HTML訪問后端獲取數(shù)據(jù)使用@CrossOrigin仍出現(xiàn)跨域問題的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 編程羔才生-前端訪問后端出現(xiàn)read ECONNRESET

    排查了原因后發(fā)現(xiàn)是node的版本太低的問題造成的,所以升級(jí)了下node版本,就好了! 基本按照這個(gè)順序排,但node的版本問題卻是最后一個(gè)解決辦法,所以簽名時(shí)間都浪費(fèi)了。所以分享! 根據(jù)網(wǎng)路資料,解決順序:(還是倒著來更快?。?\\\"read ECONNRESET\\\" 錯(cuò)誤通常表明發(fā)生了連接重

    2024年01月22日
    瀏覽(26)
  • 如何偽造http頭,讓后端認(rèn)為是本地訪問

    這個(gè)知識(shí)點(diǎn)純粹就是為了ctf準(zhǔn)備的,很少有系統(tǒng)會(huì)出現(xiàn)這種情況。 如果后端從host取值來判斷是否是本地就可以通過此方法進(jìn)行繞過: X-Forwarded-For(XFF)是用來識(shí)別通過HTTP代理或負(fù)載均衡方式連接到Web服務(wù)器的客戶端最原始的IP地址的HTTP請(qǐng)求頭字段。Squid 緩存代理服務(wù)器的開

    2024年02月10日
    瀏覽(17)
  • Vue使用WebSocket實(shí)現(xiàn)實(shí)時(shí)獲取后端推送的數(shù)據(jù)。

    Vue可以使用WebSocket實(shí)現(xiàn)實(shí)時(shí)獲取后端推送的數(shù)據(jù)。 1.在Vue項(xiàng)目中安裝WebSocket庫 可以使用npm或yarn安裝WebSocket庫: 2.創(chuàng)建WebSocket連接 在Vue組件中創(chuàng)建WebSocket連接,連接到后端WebSocket服務(wù)器,代碼如下: 上面的代碼中,使用WebSocket連接到后端WebSocket服務(wù)器,通過監(jiān)聽onmessage事件,

    2024年02月08日
    瀏覽(26)
  • uniapp使用uni.request獲取后端數(shù)據(jù)并渲染 | 含如何處理獲取到數(shù)據(jù)無法渲染問題

    問題描述 :在uniapp中使用uni.request獲取后端數(shù)據(jù)并渲染,但是獲取到了數(shù)據(jù)無法進(jìn)行全局賦值。 造成數(shù)據(jù)無法全局賦值的原因主要是: uni.request是異步請(qǐng)求 ,此時(shí)打印出來的值,其執(zhí)行機(jī)制是:useData方法再到uni.request。 如果需要調(diào)用函數(shù)并渲染到全局,則需要在更改方法的

    2024年02月12日
    瀏覽(15)
  • Java后端獲取接口訪問端是PC還是手機(jī)

    項(xiàng)目中遇到的, 公司的開發(fā)不是前后端分離的模式, html頁面是后端返回的, 所以頁面需要根據(jù)客戶端是PC還是手機(jī)調(diào)整布局; 試了一下在后端獲取客戶端類型, 方法是用請(qǐng)求報(bào)文里的 headers 中的 user-agent 信息; 起初也不知道, 于是做了以下試驗(yàn)代碼 部署并嘗試用多種客戶端訪問后

    2024年02月11日
    瀏覽(15)
  • Mac Docker安裝配置nginx,配置代理前端訪問服務(wù)器后端訪問本地啟動(dòng)項(xiàng)目

    Mac Docker安裝配置nginx,配置代理前端訪問服務(wù)器后端訪問本地啟動(dòng)項(xiàng)目

    ?或者直接通過docker客戶端查看 --name NginxTest:容器名稱 -p 8080:8080:映射端口 -d nginx:設(shè)置容器后臺(tái)運(yùn)行 ?docker客戶端查看 1)全局塊:配置服務(wù)器整體運(yùn)行的配置指令 nginx 服務(wù)器整體運(yùn)行的配置指令,主要包括配置運(yùn)行 Nginx 服務(wù)器的用戶(組)、允許生成的 worker process 數(shù),

    2024年02月02日
    瀏覽(45)
  • 使用Python訪問Zookeeper獲取數(shù)據(jù)

    Python如何獲取zookeeper中的數(shù)據(jù),本文將簡(jiǎn)單介紹Python訪問zookeeper中設(shè)置了權(quán)限的目錄信息。 1、環(huán)境準(zhǔn)備 1.1 安裝Python環(huán)境 1)安裝依賴包 2)下載安裝包并解壓: 3)進(jìn)入解壓后的文件夾,并進(jìn)行編譯安裝: 4)安裝完成后驗(yàn)證: 1.2 安裝Zookeeper環(huán)境 1)解壓安裝包 2)修改配置

    2024年02月07日
    瀏覽(10)
  • Spring Boot學(xué)習(xí)隨筆- 后端實(shí)現(xiàn)全局異常處理(HandlerExceptionResolver),前后端解決跨域問題(@CrossOrigin(局部解決)自定義跨域配置類(全局))

    Spring Boot學(xué)習(xí)隨筆- 后端實(shí)現(xiàn)全局異常處理(HandlerExceptionResolver),前后端解決跨域問題(@CrossOrigin(局部解決)自定義跨域配置類(全局))

    學(xué)習(xí)視頻:【編程不良人】2021年SpringBoot最新最全教程 異常處理作用:用來解決整合系統(tǒng)中任意一個(gè)控制器拋出異常時(shí)的統(tǒng)一處理入口 傳統(tǒng)單體架構(gòu)下的處理方式 配置全局異常處理類 resolveException :當(dāng)控制器方法出現(xiàn)異常時(shí),如果該方法沒有try...catch,則會(huì)進(jìn)入當(dāng)前方法 針

    2024年02月04日
    瀏覽(95)
  • 手機(jī)端訪問本地編寫的html頁面【親測(cè)有效】

    手機(jī)端訪問本地編寫的html頁面【親測(cè)有效】

    1. 首先你的手機(jī)要和電腦是在 同一個(gè)局域網(wǎng) ,例如手機(jī)和電腦連接同一個(gè)wifi,此次舉例我是筆記本電腦連接我的手機(jī)熱點(diǎn),也是同屬一個(gè)局域網(wǎng)下。 2.?確保電腦上已經(jīng)安裝node.js? 1.?cmd 命令行中 安裝 2. cmd進(jìn)入項(xiàng)目盤目錄: ? ? 3. 輸入 http-server 指令開啟服務(wù),cmd就會(huì)提示

    2024年02月09日
    瀏覽(21)
  • 已配置vue.config.js中的proxy代理,前端本地環(huán)境仍然請(qǐng)求后端出現(xiàn)跨域報(bào)錯(cuò)

    已配置vue.config.js中的proxy代理,前端本地環(huán)境仍然請(qǐng)求后端出現(xiàn)跨域報(bào)錯(cuò) 已配置vue.config.js中的proxy代理,前端本地環(huán)境仍然請(qǐng)求后端出現(xiàn)跨域報(bào)錯(cuò) 控制臺(tái)仍然出現(xiàn)cors禁止報(bào)錯(cuò),接口調(diào)不通 配置proxy代理解決跨域問題的原理是: 前端工程本地環(huán)境會(huì)啟動(dòng)一個(gè) express 或 koa 的

    2024年02月01日
    瀏覽(30)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包