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") }
上面的方式中,又要插入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