Ошибка при отображении извлеченного содержимого JSON - PullRequest
0 голосов
/ 28 ноября 2010

В продолжение моего вопроса, заданного здесь , я создал тестовое приложение для проверки анализа json с помощью jquery.Это не похоже на работу.Я могу добавить данные в функцию щелчка.Однако получение данных из этого URL и синтаксический анализ, кажется, не удается.Кто-нибудь может дать несколько полезных советов?

<html>
<head>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript">
$(document).ready(function(){
  $("button").click(function(){
    $("body").append("<div id = 'data'><ul>jffnfjnkj</ul></div>");
    $.getJSON("http://gdata.youtube.com/feeds/api/standardfeeds/top_rated?callback=function&alt=jsonc&v=2", function(data) {
        var dataContainer = $("#data ul");
        $.each(data.data.items, function(i, val) {
         $("body").append("<div id = 'data'><ul>jffnfjnkj</ul></div>");
if (typeof(val.player) !== 'undefined' && typeof(val.title) !== 'undefined') {
dataContainer.append("<li><a href = "+val.player.default+" target = '_blank'>"+val.title+"</a></li>");
        }
        });
        });


  });
});
</script>
</head>

<body>
<h2>Header</h2>
<p>Paragrapgh</p>
<p>Paragraph.</p>
<button>Click me</button>
</body>
</html>

TIA, Praveen S

Ответы [ 2 ]

2 голосов
/ 28 ноября 2010

Обратный вызов предоставляется, чтобы вы могли обойти ту же политику происхождения.Полученные таким образом данные JSON заключены в имя функции и не могут быть проанализированы напрямую.Подробности выполнения этого с помощью jquery приведены здесь .Пожалуйста, обратитесь к приведенному ниже примеру

<script>
 $.ajax({
         url:'http://gdata.youtube.com/feeds/api/standardfeeds/top_rated?alt=jsonc&v=2&callback=?',
         dataType: "jsonp",
         timeout: 5000,
         success: function(data){
                    alert(data.apiVersion);
                    //add your JSON parsing code here
                  }

 });

</script>

Пожалуйста, найдите рабочий пример здесь .

0 голосов
/ 28 ноября 2010

URL не возвращает JSON, как вы хотели бы попробовать без callback=function с обратным вызовом он использует метод с именем jsonp: http://ajaxian.com/archives/jsonp-json-with-padding

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...