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

相關文章
相關標籤/搜索