zoukankan      html  css  js  c++  java
  • 跨域请求-CORS

    跨域请求 服务端设置即可
        1 浏览器的同源策略
        2 简单请求:发一次请求
            response['Access-Control-Allow-Origin'] = '*'
            response['Access-Control-Allow-Origin'] = 'http://127.0.0.1:8008,http://127.0.0.1:8009'
        2 非简单请求:发两次,一次预检(OPTIONS),第二次是真正的请求
            if request.method=='OPTIONS':
                response['Access-Control-Allow-Methods']='PUT,DELETE'
                response['Access-Control-Allow-Headers']='Content-Type'
        建议写再中间件里
        注释:里面尽量不要写(*),都支持(*)

    8001:ajax请求跨域

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        {% load static %}
        <script src="{% static 'jquery-3.3.1.js' %}"></script>
        <title>Title</title>
    </head>
    <body>
    <button id="mybutton">点我</button>
    </body>
    <script>
        $("#mybutton").click(function () {
            $.ajax({
                url:'http://127.0.0.1:8000/mytest/',
                type:'get',
                headers:{'k1':'dddd'},
                success:function (data) {
                    console.log(data)
                }
            })
        })
    </script>
    </html>

    8000: 服务端配置跨域

        settings: 中间件配置
        'app01.mymiddle.MyMiddle'
        
        mymiddle:新建中间件文件:
        from django.utils.deprecation import MiddlewareMixin
    
        class MyMiddle(MiddlewareMixin):
            def process_response(self, request, response):
                if request.method == 'OPTIONS':
                    response['Access-Control-Allow-Methods'] = 'PUT'
                    response['Access-Control-Allow-Headers'] = 'k1'
                response['Access-Control-Allow-Origin'] = '*'
                return response
  • 相关阅读:
    C#函数参数前的修饰符
    C#正则表达式简单案例解析
    C#正则表达式
    C#反射Reflection
    C#事件
    C#委托的使用
    无法解析主机报错
    SparkStreaming对接rabbitMQ
    load文件到hive,并保存
    kafka模式对比
  • 原文地址:https://www.cnblogs.com/xujinjin18/p/9847520.html
Copyright © 2011-2022 走看看