import django
import os
# os.environ.setdefault("DJANGO_SETTINGS_MODULE", "untitled5.settings")  # project_name 项目名称
# django.setup()
from django.utils.deprecation import MiddlewareMixin
import importlib

project_settings = os.environ['DJANGO_SETTINGS_MODULE']
# print(project_settings)#untitled5.settings

settings_ = importlib.import_module(project_settings)
# <module 'untitled5.settings' from 'C:\\Users\\Administrator\\Desktop\\机器学习\\untitled5\\untitled5\\settings.py'>

# print(settings_)
CORS = getattr(settings_, 'CORS')

class MyMiddle(MiddlewareMixin):
    def process_response(self, request, response):
        if request.method == 'OPTIONS':
            response['Access-Control-Allow-Headers'] = CORS['Access-Control-Allow-Headers']
            response['Access-Control-Allow-Methods'] = CORS['Access-Control-Allow-Methods']
            print("options")
        # if request.method == 'POST':
        #     response['Access-Control-Allow-Headers'] = CORS['Access-Control-Allow-Headers']
        #     response['Access-Control-Allow-Methods'] = CORS['Access-Control-Allow-Methods']
        #     print("post")

        response['Access-Control-Allow-Origin'] = CORS['Access-Control-Allow-Origin']

        return response
CORS = {
    'Access-Control-Allow-Headers': '*',
    'Access-Control-Allow-Methods': '*',
    'Access-Control-Allow-Origin': '*'
}

MIDDLEWARE = [
    'django.middleware.security.SecurityMiddleware',
    'django.contrib.sessions.middleware.SessionMiddleware',
    # 'corsheaders.middleware.CorsMiddleware',
    'django.middleware.common.CommonMiddleware',
    # 'django.middleware.csrf.CsrfViewMiddleware',
    'django.contrib.auth.middleware.AuthenticationMiddleware',
    'django.contrib.messages.middleware.MessageMiddleware',
    'django.middleware.clickjacking.XFrameOptionsMiddleware',
    'app01.myMiddle.MyMiddle'
]
<!DOCTYPE html>
<html>
<head>
    <title></title>
</head>
<body>
<div id="app">
{{  test }}    

<button v-on:click="asy_post">post</button>
<button v-on:click="asy_get">get</button>
</div>

<script src="D://Vue//vue.js"></script>
<script src="D://Vue//axios.min.js"></script>

<script >

    new Vue({
        el:'#app',
        data(){
            return {
                test:'nihao你好',
                data:{"msg":"需要传递的数据"},
                url:'http://127.0.0.1:8000/index/',
            };
        },
        created(){

        },
        methods:{
            asy_get(){

                axios.get(this.url).then(function(response){
                    console.log('返回的数据');
                }).catch(function(error){
                    console.log(error);
                });
            },
            asy_post(){
                axios.defaults.headers.common['k1']='k1';
                axios.post(this.url,this.data)
                .then(function(response){
                    console.log(response);
                })
                .catch(function(error){
                    console.log(error);
                });

            },
        },

    })

</script>

</body>
</html>

Django 跨域请求 解决 axios 未完待续的更多相关文章

  1. Nginx反向代理、CORS、JSONP等跨域请求解决方法总结

    由于 Javascript 同源策略的存在使得一个源中加载来自其它源中资源的行为受到了限制.即会出现跨域请求禁止. 通俗一点说就是如果存在协议.域名.端口或者子域名不同服务端,或一者为IP地址,一者为 ...

  2. VUE系列三:实现跨域请求(fetch/axios/proxytable)

    1. 在 config/index.js 配置文件中配置proxyTable 'use strict' // Template version: 1.3.1 // see http://vuejs-t ...

  3. Django跨域请求之JSONP和CORS

    现在来新建一个Django项目server01,url配置为 url(r'^getData.html$',views.get_data) 其对应的视图函数为get_data: from django. ...

  4. vue-cli3中axios如何跨域请求以及axios封装

    1. vue.config.js中配置如下 module.exports = { // 选项... // devtool: 'eval-source-map',//开发调试 devServer: { ...

  5. 基于.Net Framework 4.0 Web API开发(5):ASP.NET Web APIs AJAX 跨域请求解决办法(CORS实现)

    概述:  ASP.NET Web API 的好用使用过的都知道,没有复杂的配置文件,一个简单的ApiController加上需要的Action就能工作.但是在使用API的时候总会遇到跨域请求的问题,特 ...

  6. WebApi Ajax 跨域请求解决方法(CORS实现)

    概述 ASP.NET Web API 的好用使用过的都知道,没有复杂的配置文件,一个简单的ApiController加上需要的Action就能工作.但是在使用API的时候总会遇到跨域请求的问题, 特别 ...

  7. WebApi Ajax 跨域请求解决方法(CORS实现)(作者:jianxuanbing)

    概述 ASP.NET Web API 的好用使用过的都知道,没有复杂的配置文件,一个简单的ApiController加上需要的Action就能工作.但是在使用API的时候总会遇到跨域请求的问题,特别各 ...

  8. 客户端ajax请求为实现Token验证添加headers后导致正常请求变为options跨域请求解决方法

    客户端为了实现token认证,通过Jquery的ajaxSetup方法全局配置headers: 全局配置headers后会导致部分不需要token认证的请求变为options请求,导致跨域访问.报错信 ...

  9. 第114天:Ajax跨域请求解决方法(二)

    一.什么是跨域 我们先回顾一下域名地址的组成: http:// www . google : 8080 / script/jquery.js   http:// (协议号)       www  (子 ...

随机推荐

  1. laravel路由别名

    在定义路由时使用数组键 as 指定路由名称: Route::get('user/profile', ['as' => 'profile', function () { // }]); 另外,还可 ...

  2. Python 算术运算符

    Python 算术运算符 运算结果为浮点数 除法:/ 整除: // 求余计算: % 求余运算可以用于固定时间的检测,比如说每10分钟进行一次什么样的操作,则:minute % 10 乘方运算:

  3. Delphi2009之TImage

    TPngImage原来是SourceFroge上的一个开源项目,现在突然消失了,为什么呢?Nick 在他的博客上写到:TPNGImage被CodeGear/Embarcadero收购了,现在直接就是D ...

  4. Hadoop-HBASE 热添加新节点

    Hadoop-HBASE 热添加新节点 环境:192.168.137.101 hd1192.168.137.102 hd2192.168.137.103 hd3192.168.137.104 hd4四 ...

  5. PCL数据类型和ROS数据类型的转换

    参考网址 http://wiki.ros.org/pcl/Overview ,重点参看第2和第3节. 1. Data types 介绍了三种点云数据类型:sensor_msgs::PointCloud ...

  6. c# 字典

    字典 在System.Collections.Generic下, 对应HashTable,添加了泛型的特性,性能更高跟安全 在内存中是散列排布的,存储也是键值对 Dictionary<键的数据类 ...

  7. rpm软件包、yum软件仓库、systemd初始化进程

    rpm软件包.yum软件仓库.systemd初始化进程 作者:Eric 微信:loveoracle11g 红帽软件包管理器rpm (Redhat Package Manager) RPM会建立统一的数 ...

  8. postgresql数据库3种程序(rule,trigger ,FUNCTION )

    1. CREATE [ OR REPLACE ] RULE name AS ON event TO table_name [ WHERE condition ] DO [ ALSO | INSTEAD ...

  9. centos关闭邮件提醒

    解决:you have mail in /var/spool/mail/root 提示   echo "unset MAILCHECK">> /etc/profile; ...

  10. JS-Promise笔记

    转自:http://www.runoob.com/w3cnote/javascript-promise-object.html ECMAscript 6 原生提供了 Promise 对象. Promi ...