1. 程式人生 > >vue 跨域請求處理

vue 跨域請求處理

前言:最近做了一個前後端自己獨立開發的專案,前端使用Vue,後端使用Django,研究了一下django rest api 的跨域處理和許可權管理

跨域的問題前端也可以解決後端也可以解決:
如vue框架解決跨域問題是使用代理:
再:config => index.js檔案下
這裡寫圖片描述

 proxyTable: {
      '/api': {
        target: 'http://192.168.88.132:8000', //api埠
        changeOrigin: true,   //允許跨域
        pathRewrite: {
          '^/api'
: 'preview' } } },

pathRewrite可以是一個方法也可以是一個物件。
詳情見:vue跨域請求


Django跨域和後臺API許可權管理:

django使用restapi設定許可權管理:
詳見django跨域

但是還是會有csrf驗證不通過。這是rest的原因。所以需要將csrf關閉。只能寫一個middleware來關閉。

# coding:utf-8
from django.utils.deprecation import MiddlewareMixin


class DisableCSRF(MiddlewareMixin)
:
def process_request(self, request): setattr(request, '_dont_enforce_csrf_checks', True)