zoukankan      html  css  js  c++  java
  • 跨域请求的两种实现方式

    Jsonp

    域1

    index.html

    <script>
            $(".get-service").click(function () {
                $.ajax({
                    url: "http://127.0.0.1:8005/service/",
                    type: "get",
                    dataType: "jsonp",
                    jsonp: "callbacks",         // 伪造ajax, 基于script
                    // jsonpCallback: "alex",   // 不写的话,默认是随机字符串
                    success: function (data) {
                        console.log("//", data, typeof data);
                        data = JSON.parse(data);
                        console.log("//", data, typeof data);
                    }
                })
            });
    </script>

    域2

    被请求的域

    views.py

    def service(request):           # jsonp
        data = {"name": "sun", "age": 28}
        import json
        data = json.dumps(data)     # 序列化
        func = request.GET.get("callbacks")
        return HttpResponse("%s('%s')" % (func, data))

    cors

    原理:加***响应头(Access-Control-Allow-Origin)

    域1

    index.html

    <script>
        $(".get-service").click(function () {
            $.ajax({
                url: "http://127.0.0.1:8005/service/",
                data: {},
                success: function (data) {
                    console.log(data);
                    data = JSON.parse(data);
                    console.log(data);
                }
            });
    
        });
    </script>

    域2

    被请求的域

    views.py

    def service(request):           # cors版本
        data = {"name": "sun", "age": 28}
        import json
        data = json.dumps(data)     # 序列化
        response = HttpResponse(data)
        response["Access-Control-Allow-Origin"] = "http://127.0.0.1:8004"    #*的话代码所有的ip地址都可以向本域跨域
        return response
  • 相关阅读:
    04 SecurityContextHolder与SecurityContext说明
    03 spring security执行流程分析
    02 spring security 自定义用户认证流程
    01 spring security入门篇
    第三周进度
    第二周进度
    一维整数组所有子数组和的最大值
    初入园子,自我介绍
    密码登录源码(jsp+java+数据库)
    第一周总结
  • 原文地址:https://www.cnblogs.com/sunch/p/9866102.html
Copyright © 2011-2022 走看看