之前看了。不是说跨域的访问,需要用jsonp么然后不能用json么?
然后现在我看了网上的资料利用YQL,大概写了一个,能获取到视频的地址,但是我看返回的是json格式的。这个我就不明白了。之前写的一个用json读取的时候会报错的,为啥现在这个可以了,都用了jquery
之前的代码
$.ajax({
type: 'GET',
url: youkuUrl2,
dataType : "json",
error:function(){
console.log("出现错误");
},
success:function(datas){
console.log(datas);
},
});
附上代码,这个是成功的,用了YQL的
$.ajax({
type: 'GET',
url: "http://query.yahooapis.com/v1/public/yql",
data:{
q: "select * from json where url=\"http://v.youku.com/player/getPlayList/VideoIDS/XNjY2MTQ1OTky/timezone/+08/version/5/source/out?password=&ran=2513&n=3\"",
format: "json"
},
dataType : "jsonp",
error:function(){
console.log("出现错误");
},
success:function(datas){
console.log(datas.query.results.json.data.logo);
},
});
感觉我的表达好差劲,都没说明白。
现代浏览器都支持跨域 Ajax 请求了。这种请求需要对方服务器的认可,而 YQL 的服务器允许脚本从任意网页向它发起请求。详见 https://developer.mozilla.org/en-US/docs/HTTP/Access_control_CORS