Dja*_*cks 5 javascript jquery youtube-api
我正在使用Google Chrome的JavaScript控制台收到"资源解释为脚本但使用MIME类型application/json传输"错误消息.
我目前正在本地计算机上运行以下代码:
var URL = "";
var YOUTUBE_ROOT = "http://gdata.youtube.com/feeds/api/videos?alt=jsonc&v=2";
var start_index = "&start-index=1";
var callback = "&jsonp=?"
function searchYouTube()
{
var q = encodeURIComponent(jQuery("#query").val());
var query = "&q="+q;
URL = YOUTUBE_ROOT+start_index+query+callback;
alert(URL);
$.getJSON(URL, function(data) {
$.each(data.items, function(i, item) {
alert(item);
});
});
}
jQuery(document).ready(function () {
jQuery("#searchYouTube").click(searchYouTube);
});
Run Code Online (Sandbox Code Playgroud)
我可以知道导致错误的原因是什么吗?
我试过用'callback =?' ,'jsoncallback =?' 对于回调,但都导致相同的错误消息.
我可以知道如何解决这个问题吗?
最好的祝福.
既然你使用JSONP,你应该像这样编写IMHO:
$.ajax(URL, {
crossDomain:true,
dataType: "jsonp",
success:function(data,text,xhqr){
$.each(data, function(i, item) {
alert(item);
});
}
});
Run Code Online (Sandbox Code Playgroud)
正确的参数是,callback但jQuery自动生成一个,所以不要指定它.