前后端分離解決跨域cors問題


  1. 修改windows的hosts文件
      vim C:\Windows\System32\drivers\etc\hosts
  1. 添加域名
前端:www.luffycity.cn
后端:api.luffycity.cn

hosts文件中添加如下
127.0.0.1   localhost
127.0.0.1   api.luffycity.cn
127.0.0.1   www.luffycity.cn

3.設置哪些客戶端可以通過地址訪問到后端

django中settings文件中
ALLOWED_HOSTS = [
    'api.luffycity.cn',
    'www.luffycity.cn', #客戶端網址也要,將來客戶端要訪問到服務端的 
]

4.修改啟動項目的manage.py

Parameters:  runserver api.luffycity.cn:8000

5.django提供了一個第三方的包用來解決跨域問題

      安裝:pip install django-cors-headers
      官方文檔:https://github.com/ottoyiu/django-cors-headers/

6.INSTALLED_APPS中注冊

INSTALLED_APPS = [
    ...
    'corsheaders'
]

7.添加中間件

MIDDLEWARE = [
    # 給響應頭加一個響應頭跨域
    'corsheaders.middleware.CorsMiddleware'
    ...
]

8.設置白名單

CORS_ORIGIN_WHITELIST = (
    'http://www.luffycity.cn:8080'
)
CORS_ALLOW_CREDENTIALS = False # 是否允許ajax跨域時攜帶cookie,False不允許


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM