使用jsonp跨域请求数据得到这个
但是当我点开他的时候显示这个
请问我该如何获取那些数据呢
这是我的代码
我看你的response好像没有设置函数去处理数据?JSONP是要设置处理函数的,网址跟本地JS都要,像这样
var url = "https://api.bilibili.com/x/web-show/res/loc?jsonp=jsonp&pf=${pf}&id=${id}&callback=jsonBack";
function jsonp(obj){
var script = document.createElement("script");
script.src = url.replace(/\${(\w+)}/g,function(a,b){if(b in obj){return obj[b];}return "";});
document.body.appendChild(script);
}
function jsonBack(data){
console.log("Json Date: ",data);
}
jsonp({pf:7,id:1695});
这个要看你的 jsonp
函数是怎么处理的,看代码的样子 getShows()
最后 return
了获取到的数据的,你直接 var rst = getShows()
,这个 rst
就是获取到的数据
10 回答11.7k 阅读
2 回答3.2k 阅读✓ 已解决
4 回答4.6k 阅读✓ 已解决
3 回答1.7k 阅读✓ 已解决
4 回答2.1k 阅读✓ 已解决
5 回答821 阅读
4 回答2.2k 阅读✓ 已解决
jsonp 原理去看一波
可以用,你访问https://api.bilibili.com/x/we... 会拿到一堆数据。
你之所以没能操作数据,是因为,你的callback还没写。并且没有把你的路径放到src上面。
原理是img和script的src是可以跨域的。img上面跨域拿其他网站的图片是可以的。
而script的src上面可以引入js用于跨域。
这就是为什么要去了解jsonp的原理。你代码写好了,但是没有动态生成script标签。
上面已经有人这么做了。
我这是现成的。他是动态的。其实就是便于你理解。你可能缺少的把url拼接好,放到src上面去
为了便于你理解,我放个链接https://www.zhihu.com/questio...