«Ресурс интерпретируется как скрипт, но передается с приложением MIME-типа / json» с использованием JavaScript API JavaScript - PullRequest
5 голосов
/ 08 марта 2011

Я получаю сообщение об ошибке «Ресурс интерпретируется как скрипт, но передается с приложением MIME типа application / json» с помощью консоли JavaScript Google Chrome.

В настоящее время на моем локальном компьютере выполняется следующий код:

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 =?'для обратного вызова, но все приводит к одному и тому же сообщению об ошибке.

Могу ли я узнать, как мне это исправить?

С наилучшими пожеланиями.

Ответы [ 3 ]

8 голосов
/ 08 марта 2011

Поскольку вы используете JSONP, вы должны кодировать его следующим образом:

$.ajax(URL, {
    crossDomain:true, 
    dataType: "jsonp", 
    success:function(data,text,xhqr){
        $.each(data, function(i, item) {
            alert(item);
        });
    }
});

Правильный параметр - callback, но jQuery генерирует его автоматически, поэтому не указывайте его.

4 голосов
/ 08 марта 2011

Это предупреждение, а не ошибка, и оно не должно мешать работе вашего кода.

Ошибка YouTube в обработке данных с неверным типом контента.

0 голосов
/ 30 сентября 2011

Это особенность Chrome и то, как он отличает XHR-запрос от типичного запроса браузера.

Чтобы предотвратить появление сообщения, а также позволить chrome красиво отобразить ответ как json в консоли, добавьтестрока запроса к вашему URL запроса.

например

var xhr_object = new XMLHttpRequest();

var url = 'mysite.com/party_in_my_pants'; // Using this one, Chrome throws error

var url = 'mysite.com/party_in_my_pants?'; // This one, Chrome is sexy.

xhr_object.open('POST', url, false);
...