最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Django使用中間件解決前后端同源策略問題

 更新時間:2019年09月02日 08:17:01   作者:YifChan  
這篇文章主要介紹了Django使用中間件解決前后端同源策略問題,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下

問題描述

前端時間在公司的時候,要使用angular開發(fā)一個網(wǎng)站,因為angular很適合前后端分離,所以就做了一個簡單的圖書管理系統(tǒng)來模擬前后端分離。

但是在開發(fā)過程中遇見了同源策略的跨域問題,頁面能夠顯示,但是卻沒有數(shù)據(jù),顯示如下

右鍵檢查報錯如下:

報錯代碼如下

Failed to load http://127.0.0.1:8888/publisher/: 
No 'Access-Control-Allow-Origin' header is present on the requested resource. 
Origin 'http://localhost:4200' is therefore not allowed access.

angular從后端獲取數(shù)據(jù)的代碼如下:

private publishersUrl = 'http://127.0.0.1:8888/publisher/';
private addpubUrl = 'http://127.0.0.1:8888/addpub/';
getPublishers (): Observable<Publisher[]> {
  return this.http.get<Publisher[]>(this.publishersUrl)
  .pipe(
   catchError(this.handleError<Publisher[]>('getPublishers', []))
  ); 
}

問題原因

出現(xiàn)這個問題的原因是同源策略的跨域問題,關(guān)于這個問題不在此處詳細(xì)討論,如有興趣可以去搜索一下。

問題解決

解決這個問題關(guān)鍵在于后端,要允許其他網(wǎng)站進(jìn)行訪問,在這里我們可以定義一個中間件來解決這個問題,步驟如下。

1.在app下新建一個myMiddleware.py文件。

2.在文件中加入以下代碼

from django.utils.deprecation import MiddlewareMixin
class MyCore(MiddlewareMixin):
  def process_response(self, request, response):
    response['Access-Control-Allow-Origin'] = "*"
    if request.method == "OPTIONS":
      # 復(fù)雜請求 預(yù)檢
      response['Access-Control-Allow-Headers'] = "Content-Type"
      response['Access-Control-Allow-Methods'] = "POST, DELETE, PUT"
    return response

3.去settings文件中注冊中間件

MIDDLEWARE = [
  'BMS.myMiddleware.MyCore',
]

至此,這個問題就算解決了,我們可以將項目運行起來看一下結(jié)果

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

相關(guān)文章

  • 基于Opencv圖像識別實現(xiàn)答題卡識別示例詳解

    基于Opencv圖像識別實現(xiàn)答題卡識別示例詳解

    這篇文章主要為大家詳細(xì)介紹了基于OpenCV如何實現(xiàn)答題卡識別,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-12-12
  • 基于Python+OpenCV實現(xiàn)自動掃雷功能

    基于Python+OpenCV實現(xiàn)自動掃雷功能

    相信許多人很早就知道有掃雷這么一款經(jīng)典的游(顯卡測試)戲(軟件),掃雷作為一款在Windows9x時代就已經(jīng)誕生的經(jīng)典游戲,從過去到現(xiàn)在依然都有著它獨特的魅力,所以本文小編給大家介紹了如何使用Python+OpenCV實現(xiàn)自動掃雷效果,感興趣的朋友可以參考下
    2023-12-12
  • Pygame實戰(zhàn)練習(xí)之飛機大戰(zhàn)游戲

    Pygame實戰(zhàn)練習(xí)之飛機大戰(zhàn)游戲

    飛機大戰(zhàn)想必是很多人童年時期的經(jīng)典游戲,我們依舊能記得抱個老人機娛樂的場景,下面這篇文章主要給大家介紹了關(guān)于如何利用python寫一個簡單的飛機大戰(zhàn)小游戲的相關(guān)資料,需要的朋友可以參考下
    2021-09-09
  • Python Pandas數(shù)據(jù)分析工具用法實例

    Python Pandas數(shù)據(jù)分析工具用法實例

    這篇文章主要介紹了Python Pandas數(shù)據(jù)分析工具用法實例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-11-11
  • Python實現(xiàn)號碼歸屬地查詢功能

    Python實現(xiàn)號碼歸屬地查詢功能

    這篇文章主要為大家詳細(xì)介紹了如何利用Python實現(xiàn)對手機號碼進(jìn)行地域分析并查詢歸屬地的功能,感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2022-12-12
  • Python實現(xiàn)讀取文件中的特定行的方法詳解

    Python實現(xiàn)讀取文件中的特定行的方法詳解

    這篇文章主要為大家詳細(xì)介紹了如何在Python中實現(xiàn)讀取文件中的特定行,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2024-03-03
  • Python 函數(shù)list&read&seek詳解

    Python 函數(shù)list&read&seek詳解

    這篇文章主要介紹了Python 函數(shù)list&read&seek詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2019-08-08
  • 詳解pandas中利用DataFrame對象的.loc[]、.iloc[]方法抽取數(shù)據(jù)

    詳解pandas中利用DataFrame對象的.loc[]、.iloc[]方法抽取數(shù)據(jù)

    這篇文章主要介紹了pandas中利用DataFrame對象的.loc[]、.iloc[]方法抽取數(shù)據(jù),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-12-12
  • 判斷Threading.start新線程是否執(zhí)行完畢的實例

    判斷Threading.start新線程是否執(zhí)行完畢的實例

    這篇文章主要介紹了判斷Threading.start新線程是否執(zhí)行完畢的實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-05-05
  • python的等深分箱實例

    python的等深分箱實例

    今天小編就為大家分享一篇python的等深分箱實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-11-11

最新評論

瑞安市| 扶风县| 远安县| 阿鲁科尔沁旗| 宜州市| 定襄县| 鹤山市| 曲水县| 嫩江县| 宜阳县| 布拖县| 策勒县| 乌拉特后旗| 灌云县| 塔河县| 克什克腾旗| 博野县| 罗定市| 金阳县| 微山县| 若尔盖县| 彰化市| 凌源市| 长乐市| 渑池县| 贞丰县| 德钦县| 蓬安县| 永川市| 南岸区| 钟祥市| 荃湾区| 乐山市| 南部县| 澳门| 白河县| 大化| 金堂县| 台州市| 磐石市| 芜湖县|