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 

  

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

原创文章,作者:奋斗,如若转载,请注明出处:https://blog.ytso.com/20782.html

(0)
上一篇 2021年7月19日
下一篇 2021年7月19日

相关推荐

发表回复

登录后才能评论