2016-12-07 8 views
3
$(document).ready(function() { 
    $(function() { 
     url = 'http://feeds.bbci.co.uk/news/world/us_and_canada/rss.xml?fmt=xml'; 
     $.ajax({ 
      type: "GET", 
      url: document.location.protocol + '//ajax.googleapis.com/ajax/services/feed/load?v=1.0&num=1000&callback=?&q=' + encodeURIComponent(url), 
      dataType: 'json', 
      error: function() { 
       alert('Unable to load feed, Incorrect path or invalid feed'); 
      }, 
      success: function (xml) { 
       values = xml.responseData.feed.entries; 
       $.each(values, function (i) { 
        $('#results').append('<h1>' + values[i].title + '</h1>'); 
        $('#results').append(values[i].content); 
       }); 

      } 
     }); 
    }); 
}); 

штраф, приведенный выше код работает в моем jsfiddle - но при их осуществлении он последовательно идет к ошибке alert() функцииJQuery/Ajax подачи парсер скрипт не работает на странице

И мои консольные отчеты:(отчеты ниже локальный и живой сервер)

XMLHttpRequest не может загрузить http://feeds.bbci.co.uk/news/world/us_and_canada/rss.xml?format=xml. В запрошенном ресурсе нет заголовка «Access-Control-Allow-Origin». Поэтому исходный 'null' не допускается. home.html: 1 XMLHttpRequest не может загрузить http://bsnm.s3.amazonaws.com/IVC/103b8b081e0c4ee0ef0d57d45ed11104. В запрошенном ресурсе нет заголовка «Access-Control-Allow-Origin». Поэтому исходный 'null' не допускается.

+0

Можете ли вы добавить параметр ошибки в функцию ошибки и предупредить 'err.message'? –

+1

Является 'document.location.protocol'' https: '? – guest271314

ответ

0

По какой-то причине - этот вопрос был таков:

url: document.location.protocol + 

Когда я заменяю «document.location.protocol» фактическим http:, он отлично работает.

Я загрузил jQuery v 3.1 - не уверен, если это имеет значение. Если у кого-то есть представление о , почему или причина этого, добавьте к моему ответу!

ie. ниже работает.

url: 'http://ajax.googleapis.com/ajax/services/feed/load?v=1.0&num=1000&callback=?&q=' + encodeURIComponent(url), 
0

Я смог воспроизвести эту ошибку в своем локальном поле, используя jQuery v1.1.1, но при загрузке jQuery v2.1.1 он загружается нормально.

Вы используете старую версию jQuery?

Примечание: Код я проверил на месте точно так же, как ваш jsFiddle только я изменил document.location.protocol к 'http://' и добавил <script src="https://code.jquery.com/jquery-2.1.1.js"></script>