跨源请求cors和jsonp

一、cors(常用简单)

1、http://127.0.0.1:8000

<!DOCTYPE html>
<html lang="zh-CN">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<h2>django</h2>
<input type="button" name="" id="getService" value="获取python的数据">
<script src="https://cdn.bootcss.com/jquery/3.4.1/jquery.js"></script>
<script>
    $("#getService").on('click', function () {
        // alert(123)
        $.ajax({
            // 目标域,获取数据
            url: "http://127.0.0.1:8002/service/",
            type: "get",
            success: function (data) {
                console.log(data)
                // console.log(typeof data)
            }
        });
    })
</script>
</body>
</html>

2、http://127.0.0.1:8002

def service(request):
    dic = {"name": "python"}
    response = HttpResponse(json.dumps(dic))
    # 获取资源的ip
    response["Access-Control-Allow-Origin"] = "http://127.0.0.1:8000"
    return response

二、jsonp

1、http://127.0.0.1:8000

<!DOCTYPE html>
<html lang="zh-CN">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<h2>django</h2>
<input type="button" name="" id="getService" value="获取python的数据">
<script src="https://cdn.bootcss.com/jquery/3.4.1/jquery.js"></script>
<script>
    $("#getService").on('click', function () {
        // alert(123)
        $.ajax({
            // 目标域,获取数据
            url: "http://127.0.0.1:8002/service/",
            type: "get",
            dataType: "jsonp",
            jsonp: "callbacks",
            // jsonpCallback: "abc",
            success: function (data) {
                console.log(data)
                // console.log(typeof data)
            }
        });
    })
</script>
</body>
</html>

2、http://127.0.0.1:8002

def service(request):
    dic = {"name": "python"}
    dic_str = json.dumps(dic)
    func = request.GET.get("callbacks")
    print(func)
    return HttpResponse("{}('{}')".format(func, dic_str))

 

转载于:https://www.cnblogs.com/wt7018/p/11397492.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值