zoukankan      html  css  js  c++  java
  • Django 处理跨域的配置、前台处理ajax

    一. Django处理跨域

      跨域的处理方式有很多,使用最多的就是CORS(跨域资源共享),接下来大致提一下django中处理跨域的配置。

      首先安装django-cors-headers模块:

    pip install django-cors-headers

       在settings.py中配置:

    '''
    # 注册app
    INSTALLED_APPS = [
        ...
        'corsheaders'
    ]
    
    # 添加中间件
    MIDDLEWARE = [
        ...
        'corsheaders.middleware.CorsMiddleware'
    ]
    
    # 允许跨域源,True时表示允许所有跨域源,一般都设置False,通过白名单允许部分跨域
    CORS_ORIGIN_ALLOW_ALL = False
    
    # 白名单,配置指定跨域域名
    CORS_ORIGIN_WHITELIST = [
        'http://www.luffy.cn:8080'
    ]
    
    # 允许ajax请求携带cookie
    CORS_ALLOW_CREDENTIALS = True
    
    
    # 注:前台请求头携带参数,中间件拒绝Access-Control-Allow-Headers错误,中间件要设置 default_headers
    from corsheaders import defaults
    在 default_headers 中添加 '前端ajax请求头里面的字段名'

    # 也可以直接settings.py配置以下内容
    #跨域增加忽略
    CORS_ALLOW_CREDENTIALS = True
    CORS_ORIGIN_ALLOW_ALL = True
    CORS_ORIGIN_WHITELIST = ()
    
    
    CORS_ALLOW_METHODS = (
        'DELETE',
        'GET',
        'OPTIONS',
        'PATCH',
        'POST',
        'PUT',
        'VIEW',
    )
    
    
    CORS_ALLOW_HEADERS = (
        'accept',
        'accept-encoding',
        'authorization',
        'content-type',
        'dnt',
        'origin',
        'user-agent',
        'x-csrftoken',
        'x-requested-with'
    )
    '''

     二. 前台处理ajax

    """
    1.安装axios
    cnpm install axios --save
    
    2.src/main.js配置
    // 允许ajax发送请求时附带cookie
    axios.defaults.withCredentials = true;
    Vue.prototype.$axios = axios; // 把对象挂载vue中
    
    
    # axios发生ajax请求
    $axios({
        utl: 'http://api.example.com/test',  // 请求接口
        headers: {},  // 携带请求头
        method: 'post',  // 还可以为post
        data: {},  // get通过param: {} 提交数据
    })
    """
  • 相关阅读:
    VHDL中常用函数类型转换程序包
    Error (10309): VHDL Interface Declaration error in keyboard.vhd(63): interface object "scan_code" of mode out cannot be read. Change object mode to bu
    堆排序
    死锁及如何处理死锁-转载
    红黑书——算法导论
    Randomize select algorithm 随机选择算法
    转载:MATLAB画图常用调整代码
    广告营销学术语
    使用weka进行Cross-validation实验
    设计一个简单的,低耗的能够区分红酒和白酒的感知器(sensor)
  • 原文地址:https://www.cnblogs.com/maoruqiang/p/11247178.html
Copyright © 2011-2022 走看看