我正在尝试使用jquery api get()和getJSON()获取一些youtube视频数据,但我没有得到回复。
$.get('http://gdata.youtube.com/feeds/api/videos/eGfAj9ZJymo',
function(data) {
alert('data loaded');
});
我也尝试使用getJSON函数,我得到了相同的结果,没有。
但我测试了这个例子http://jsfiddle.net/FzejW/,并且确实有效。
答案 0 :(得分:1)
如果您注意到,您提供的jsFiddle example在其查询字符串中包含callback=?
参数。这会触发jQuery使用JSONP而不是JSON。
您的代码无效的原因可能是same origin policy:您无法使用XHR从其他来源(协议+子域+域+端口)获取数据。但是你可以做JSONP只是因为JSONP是通过<script>
标签完成的,并且不受同一原始政策的约束。
http://api.jquery.com/jQuery.getJSON/
如果网址包含字符串“callback =?” (或类似的,由服务器端API定义),请求被视为JSONP。有关更多详细信息,请参阅$ .ajax()中有关jsonp数据类型的讨论。
尝试在您的请求网址中加入callback=?
,看看它是否有帮助......