使用Google Chrome的JavaScript控制檯收到「資源解釋爲腳本但通過MIME類型application/json傳輸」的錯誤消息。使用Youtube的JavaScript API「將資源解釋爲腳本,但使用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);
});
我想知道是什麼原因造成的錯誤?
我試過用'callback =?' ,'jsoncallback =?'爲回調,但所有導致 相同的錯誤消息。
我可以知道我該如何解決這個問題?
最好的問候。
哇感謝!好像我仍然有很多要學習JavaScript和JQuery。數據現在正在顯示。 – DjangoRocks 2011-03-08 13:34:35
當您需要訪問跨域數據時使用JSONP。基本上這只是一個竅門:JavaScript頁面中插入了JavaScript腳本,並且響應中嵌入了JavaScript回調。 – jujule 2011-03-08 14:28:18
這並不能解決所提到的錯誤('資源解釋'等等),至少不適合我,以及仍然使用'application/json'時。它只在用作'text/javascript'時消失,它沒有任何明顯的副作用。 – kasimir 2012-03-22 13:35:09