jsonp 跨域请求

利用script获取不一样源的json

function $(str){
        return document.getElementById(str)
    }
    function CreateScript(src) {
        var Scrip=document.createElement('script');
        Scrip.src=src;
        document.body.appendChild(Scrip);
    }
    function jsonpcallback(json) {
            console.log(json);//Object { email="中国", email2="中国222"}
    }
    $('btn').onclick=function(){
      CreateScript("http://localhost:51335/somejson?callback=jsonpcallback")    
    }

利用jQuery获取jsonp

上面的方式中,又要插入script标签,又要定义一个回调,略显麻烦,利用jQuery能够直接获得想要的json数据,一样是上面的jsonp:javascript

$("#getJsonpByJquery").click(function () {
    $.ajax({
        url: 'http://localhost:2701/home/somejsonp',
        dataType: "jsonp",
        jsonpCallback: "callback",
        success: function (data) {
            console.log(data)
        }
    })
})

备注:jsonpCallback 注意区分大小写,其后的字符创表示回调函数名,固然这须要在服务器端加入这个函数名,返回的时候经过这个函数执行。java

相关文章
相关标签/搜索