JSONP使用

Posted 小强灰灰

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JSONP使用相关的知识,希望对你有一定的参考价值。

一、什么是JSONP

jsonp是一种规则,它是利用创建html的script快的方式,将远端url放到src属性中,并以函数的形式执行远程返回值中的函数。

jsonp的出现是为了解决浏览器同源策略的限制(跨域访问)

 

二、实现例子

1、原理性实现

技术分享
def jsonp(request):
    name = request.GET.get(callback)
    return HttpResponse("%s(‘要返回的内容‘)" % (name,))
服务端代码

 

技术分享
function submitJsonp() {
        var tag = document.createElement(script);
        tag.src = http://域名/index.html?callback=func;
        document.head.appendChild(tag);
        document.head.removeChild(tag);
 }

#此函数是来自于url访问后得到远端返回值的数据
 function func(arg) {
        $(#content).html(arg);
 }
客户端代码

 

2、利用ajax方式实现

技术分享
function submitJsonp() {
        $.ajax({
            url: http://域名/index.html,
            type: GET, //不管这里写get或post,都会以get方式提交到远端服务端
            dataType: jsonp,
            jsonp: callback,
            jsonpCallback: func
        })
}

function func(arg) {
        console.log(arg);
}
ajax方式实现jsonp

 

以上是关于JSONP使用的主要内容,如果未能解决你的问题,请参考以下文章

JSONP 和反对这个

如何发出 jsonp 请求

使用 JQuery 访问 ASP.net Web 服务时出错 - JSONP

jq使用jsonp实现百度搜索

jq使用jsonp实现百度搜索

使用 JSONP 的 Jquery 移动自动完成