利用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:
- $("#getJsonpByJquery").click(function () {
- $.ajax({
- url: 'http://localhost:2701/home/somejsonp',dataType: "jsonp",jsonpCallback: "callback",success: function (data) {
- console.log(data)
- }
- })
- })
备注:jsonpCallback 注意区分大小写,其后的字符创表示回调函数名,当然这需要在服务器端加入这个函数名,返回的时候通过这个函数执行。