zoukankan      html  css  js  c++  java
  • Django使用jsonp和cors解决跨域请求问题

    1、使用jsonp的方式解决跨域请求的问题

    我启动两个django项目,然后使用的端口不一样,在项目1中通过ajax发请求给项目2,然后接受项目2发送过来的数据

    先看项目1的ajax的代码

        $("#diandian").bind("click",function () {
    
            $.ajax(
                {
                    url:"http://127.0.0.1:8081/service/",
                    type:"get",
                    dataType:'JSONP',
                    success:function (data) {
                        console.log(data)
                    }
    
                }
            )
        })
    

      

    在看项目2的视图函数,这是固定套路

    def services(request):
        print("收到信息")
        func = request.GET.get("callback")
        print(func)
    
        return HttpResponse("{func}('{info}')".format(func=func,info='这里是皮皮1'))
    

      

    2、下面在看下如何使用cors解决跨域请求问题

    我们还是在项目1通过ajax发请求给项目2,这次就不需要使用伪ajax了,直接使用正常的ajax即可

        $("#diandian").bind("click",function () {
    
            $.ajax(
                {
                    url:"http://127.0.0.1:8081/service/",
                    type:"get",
    {#                dataType:'JSONP',#}
                    success:function (data) {
                        console.log(data)
                    }
    
                }
            )
        })
    

      

    我们在看下项目2的视图函数,这个也是固定的套路

    def services(request):
        # print("收到信息")
        # func = request.GET.get("callback")
        # print(func)
        # 
        # return HttpResponse("{func}('{info}')".format(func=func,info='这里是皮皮1'))
    
        info = "这里是皮皮2"
    
        ret = HttpResponse(info)
        ret["Access-Control-Allow-Origin"] = "*"
        return ret
    

      

    至此我们可以通过两种方式实现跨域请求数据

  • 相关阅读:
    当当网css代码
    当当网代码6
    游戏UI设计(2.1)窗口之父CXWnd的封装
    英语(1)备考——词汇
    UML的五类图(UML笔记)
    Sieve of Eratosthenes[ZT]
    std::map初体验
    “非计算机相关专业”的定义
    英语(1)备考——翻译
    使用回调函数发送自定义“消息”
  • 原文地址:https://www.cnblogs.com/bainianminguo/p/10044004.html
Copyright © 2011-2022 走看看