分 享

【凤凰社】jsonp格式前端发送和后台接受写法

jsonp是ajax提交的一种格式不会受跨域限制

一.前端发送

<button>11111</button>
<script src="https://cdn.static.runoob.com/libs/jquery/1.8.3/jquery.js"></script>
<script>
    document.querySelector('button').onclick = function () {
        $.ajax({
            url: 'http://localhost:8000/test',
            type: 'get',
            dataType: 'jsonp',
            data: {            //注意内容必须为字典
                aaa:aaa        //字典里内容前面key可以不加"",默认会给你加上""变成字符串But不会当成变量
            },                 //字典后面value有''为字符串,没有为变量
            success: function (data) {
                console.log(data);
            }
        });
    }
</script>

二.后台接受

#我就拿python举例,其他也大同小异
from django.shortcuts import render,HttpResponse,redirect

def test(request):
    callback=request.GET.get('callback')
    print(dict(request.GET)) #传过来的内容他会打散,具体的自己看一下就知道
    
    #注意点返回的字符串必须是 'callback+("返回的字符串")'  这样的一个字符串,不然前端不会接收
    return HttpResponse(callback+'("ok")')

0 评论

回复