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

前端調(diào)用DRI后端API出現(xiàn)跨域資源共享(CORS)問題解決辦法

這篇具有很好參考價(jià)值的文章主要介紹了前端調(diào)用DRI后端API出現(xiàn)跨域資源共享(CORS)問題解決辦法。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

目錄
  • 1. 引言
  • 2. 跨源資源共享和實(shí)現(xiàn)方法
  • 3. 在Django項(xiàng)目中配置django-cors-headers庫(kù)
    • Reference

1. 引言

在進(jìn)行后端API開發(fā)時(shí),有時(shí)會(huì)遇到“跨域資源共享 (CORS) 請(qǐng)求...被阻止“的錯(cuò)誤,如圖1所示。本文講解如何在使用DRF(Django REST Framework)的后端API開發(fā)項(xiàng)目中解決這個(gè)問題。

A cross-origin resource sharing (CORS) request was blocked because of invalid or missing response headers of the request or the associated?preflight request?.
...

2. 跨源資源共享和實(shí)現(xiàn)方法

跨源資源共享(Cross-Origin Resource Sharing)是一種機(jī)制,允許在Web瀏覽器的安全性限制下,從一個(gè)域(網(wǎng)站)的客戶端向另一個(gè)域的服務(wù)器發(fā)送跨域HTTP請(qǐng)求。

DRF官方給出有關(guān)跨域資源共享的兩種實(shí)現(xiàn)方式:
(1)在 REST 框架中處理 CORS 的最佳方法是在中間件中添加所需的響應(yīng)標(biāo)頭,這種方式透明地支持 CORS,無需更改視圖中的任何行為。
(2)使用django-cors-headers。

Cross-Origin Resource Sharing?is a mechanism for allowing clients to interact with APIs that are hosted on a different domain. CORS works by requiring the server to include a specific set of headers that allow a browser to determine if and when cross-domain requests should be allowed.

The best way to deal with CORS in REST framework is to add the required response headers in middleware. This ensures that CORS is supported transparently, without having to change any behavior in your views.

Adam Johnson?maintains the?django-cors-headers?package, which is known to work correctly with REST framework APIs.

3. 在Django項(xiàng)目中配置django-cors-headers庫(kù)

(1)使用pip在環(huán)境中安裝django-cors-headers庫(kù):

python -m pip install django-cors-headers

(2)在setting.py文件的INSTALLED_APPS中添加"corsheaders"

INSTALLED_APPS = [
    ...,
    "corsheaders",
    ...,
]

(3)在setting.py文件的MIDDLEWARE中添加中間件類用于監(jiān)聽響應(yīng):

MIDDLEWARE = [
    ...,
    "corsheaders.middleware.CorsMiddleware",
    "django.middleware.common.CommonMiddleware",
    ...,
]

(4)在setting.py文件中添加變量CORS_ALLOWED_ORIGINS并設(shè)置為True.

CORS_ALLOWED_ORIGINS = True

以上步驟完成后,前端調(diào)用后端DRF API時(shí)所出現(xiàn)的CORS錯(cuò)誤就被消除了。

Reference

AJAX, CSRF & CORS - Django REST framework
GitHub - adamchainz/django-cors-headers: Django app for handling the server headers required for Cross-Origin Resource Sharing (CORS)文章來源地址http://www.zghlxwxcb.cn/news/detail-857592.html

到了這里,關(guān)于前端調(diào)用DRI后端API出現(xiàn)跨域資源共享(CORS)問題解決辦法的文章就介紹完了。如果您還想了解更多內(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)文章

  • 如何使用Flask-CORS實(shí)現(xiàn)跨域資源共享

    如何使用Flask-CORS實(shí)現(xiàn)跨域資源共享 引言: 在網(wǎng)絡(luò)應(yīng)用開發(fā)中,跨域資源共享(Cross Origin Resource Sharing,簡(jiǎn)稱CORS)是一種機(jī)制,允許服務(wù)器與指定的來源或域名之間共享資源。使用CORS,我們可以靈活地控制不同域之間的數(shù)據(jù)傳輸,實(shí)現(xiàn)安全、可靠的跨域訪問。在本文中,我們

    2024年02月14日
    瀏覽(17)
  • CORS跨域資源共享漏洞的復(fù)現(xiàn)、分析、利用及修復(fù)過程

    CORS跨域資源共享漏洞的復(fù)現(xiàn)、分析、利用及修復(fù)過程

    CORS跨域資源共享漏洞與JSONP劫持漏洞類似,都是程序員在解決跨域問題中進(jìn)行了錯(cuò)誤的配置。攻擊者可以利用Web應(yīng)用對(duì)用戶請(qǐng)求數(shù)據(jù)包的Origin頭校驗(yàn)不嚴(yán)格,誘騙受害者訪問攻擊者制作好的惡意網(wǎng)站, 從而跨域獲取受害者的敏感數(shù)據(jù),包括轉(zhuǎn)賬記錄、交易記錄、個(gè)人身份證號(hào)

    2024年02月07日
    瀏覽(26)
  • 第40篇:CORS跨域資源共享漏洞的復(fù)現(xiàn)、分析、利用及修復(fù)過程

    第40篇:CORS跨域資源共享漏洞的復(fù)現(xiàn)、分析、利用及修復(fù)過程

    CORS跨域資源共享漏洞與JSONP劫持漏洞類似,都是程序員在解決跨域問題中進(jìn)行了錯(cuò)誤的配置。攻擊者可以利用Web應(yīng)用對(duì)用戶請(qǐng)求數(shù)據(jù)包的Origin頭校驗(yàn)不嚴(yán)格,誘騙受害者訪問攻擊者制作好的惡意網(wǎng)站, 從而跨域獲取受害者的敏感數(shù)據(jù),包括轉(zhuǎn)賬記錄、交易記錄、個(gè)人身份證號(hào)

    2024年02月11日
    瀏覽(25)
  • 通過HTTP隧道在Linux上實(shí)現(xiàn)跨域資源共享(CORS):打破數(shù)字世界的“門禁”

    通過HTTP隧道在Linux上實(shí)現(xiàn)跨域資源共享(CORS):打破數(shù)字世界的“門禁”

    在數(shù)字世界里,有時(shí)你會(huì)碰到一些“門禁”,它們阻止你訪問某些資源,就像現(xiàn)實(shí)生活中的門禁系統(tǒng)一樣。這些“門禁”就是所謂的跨域資源共享(CORS)限制。不過別擔(dān)心,我們有一個(gè)絕妙的解決方案:通過HTTP隧道在Linux上實(shí)現(xiàn)CORS,讓你輕松跨越這些“門禁”,暢游數(shù)字世

    2024年02月21日
    瀏覽(21)
  • Python flask跨域支持(Access-Control-Allow-Origin(CORS)跨域資源共享(訪問控制允許來源:允許指定的來源進(jìn)行跨域請(qǐng)求)瀏覽器同源策略、OPTIONS預(yù)檢請(qǐng)求

    Python flask跨域支持(Access-Control-Allow-Origin(CORS)跨域資源共享(訪問控制允許來源:允許指定的來源進(jìn)行跨域請(qǐng)求)瀏覽器同源策略、OPTIONS預(yù)檢請(qǐng)求

    瀏覽器的同源策略(Same-Origin Policy)限制了跨域請(qǐng)求,如果不進(jìn)行特殊處理,跨域請(qǐng)求將被瀏覽器攔截。 接口支持跨域能夠允許瀏覽器跨域請(qǐng)求不被瀏覽器攔截。 下面是跨域請(qǐng)求的一些影響、優(yōu)點(diǎn)和缺點(diǎn): 優(yōu)點(diǎn) 允許不同域名下的應(yīng)用程序進(jìn)行數(shù)據(jù)交互,提高了系統(tǒng)的靈活性

    2024年02月11日
    瀏覽(17)
  • 本地前端代理連接服務(wù)器后端gateway api瀏覽器提示cors跨域,如何解決?

    本地前端代理連接服務(wù)器后端gateway api瀏覽器提示cors跨域,如何解決?

    ??本文收錄于「Bug調(diào)優(yōu)」專欄,主要記錄項(xiàng)目實(shí)戰(zhàn)過程中的Bug之前因后果及提供真實(shí)有效的解決方案,希望能夠助你一臂之力,幫你早日登頂實(shí)現(xiàn)財(cái)富自由??;同時(shí),歡迎大家 關(guān)注收藏訂閱 !持續(xù)更新中,up!up!up??! ??本地前端代理連接服務(wù)器后端gateway api瀏覽器提示

    2024年04月12日
    瀏覽(35)
  • 已配置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)
  • postman-使用Postman的模擬服務(wù)來模擬(mock)后端數(shù)據(jù),完成前端模擬API調(diào)用

    postman-使用Postman的模擬服務(wù)來模擬(mock)后端數(shù)據(jù),完成前端模擬API調(diào)用

    最近項(xiàng)目上比較忙,任務(wù)多時(shí)間緊,導(dǎo)致后端開發(fā)任務(wù)繁多,無法及時(shí)開發(fā)完畢,但是前端同學(xué)已經(jīng)把對(duì)應(yīng)功能開發(fā)完成,需要進(jìn)行前后端聯(lián)調(diào)來驗(yàn)證API及一些交互問題;這不能因?yàn)楹蠖说倪M(jìn)度來影響前端的工作完成情況,因此,Postman的mock數(shù)據(jù)功能就用了,確實(shí)好用。 Set

    2024年02月11日
    瀏覽(23)
  • 后端使用response.reset()導(dǎo)致出現(xiàn)跨域問題

    今天聯(lián)調(diào)文件下載的接口,由于自己用postman測(cè)試一直都沒問題,但是在和前端聯(lián)調(diào)的時(shí)候前端就會(huì)出現(xiàn)如下跨域的報(bào)錯(cuò),但是項(xiàng)目是做了統(tǒng)一的跨域處理的,代碼類似于下面: 但是項(xiàng)目是做了統(tǒng)一的跨域處理的,后來通過查詢資料,發(fā)現(xiàn)是response.reset();導(dǎo)致的,正常的respo

    2024年01月18日
    瀏覽(15)
  • 本地HTML訪問后端獲取數(shù)據(jù)使用@CrossOrigin仍出現(xiàn)跨域問題

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

    Access-Control-Allow-Credentials 這個(gè)頭的作用,果然藥到病除。這個(gè)是服務(wù)端下發(fā)到客戶端的 response 中頭部字段,意義是允許客戶端攜帶驗(yàn)證信息,例如 cookie 之類的。這樣客戶端在發(fā)起跨域請(qǐng)求的時(shí)候,不就可以攜帶允許的頭,還可以攜帶驗(yàn)證信息的頭,又由于客戶端是請(qǐng)求框架

    2024年02月13日
    瀏覽(31)

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

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

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

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包