2015-12-05 2 views
-4

мой код до сих пор выглядит следующим образом:Синтаксический JSON с AJAX/Jquery

$(document).ready(function(){ 
    $.ajax({ 
     type: "GET", 
     url: "http://content.guardianapis.com/search?q=world%20&api-key=4dftzq5rzqbkc7h3b3epsgem", 
     dataType: "JSON", 
     cache: false, 
     success: function (data){ 
     console.log(data); 
     } 
    }); 
}); 

Я теперь не знаю, как назвать фактическое содержание от API. JSON выглядит следующим образом:

http://imgur.com/1GUPvAK

+1

Ваш код работает: 'data.response' в вашем обратном вызове успеха дает запрашиваемые данные. – m90

ответ

0

Вы звоните в апи, когда документ будет готов.

Вы можете заполнить список текущими результатами реакции, обратившись к data.response.results.

$(document).ready(function() { 
 
    $.ajax({ 
 
    type: "GET", 
 
    url: "http://content.guardianapis.com/search?q=world%20&api-key=4dftzq5rzqbkc7h3b3epsgem", 
 
    dataType: "json", 
 
    cache: false, 
 
    success: function(data) { 
 
     console.log(data); 
 
     for (var i = 0; i < data.response.results.length; i++) { 
 
     $("#results").append("<li>" + data.response.results[i].webTitle + "</li>"); 
 
     } 
 
    } 
 
    }); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script> 
 
<ul id="results"> 
 
</ul>

+0

Спасибо за помощь! однако, когда я помещаю этот точный код в свой код, он все еще не отображается на моем сайте. – hgzy

+0

Вы получаете ошибки на консоли Google Chrome? –

+0

сейчас работает! Мне также интересно, есть ли способ получить фотографии из каждой статьи, чтобы показать? – hgzy

0

При указании dataType: "json" он оценивает ответ как JSON и возвращает объект JavaScript. Данные JSON обрабатываются строгим образом; любой отклоненный JSON отклоняется и возникает ошибка синтаксического анализа.

$(document).ready(function() { 
 
    $.ajax({ 
 
    type: "GET", 
 
    url: "http://content.guardianapis.com/search?q=world%20&api-key=4dftzq5rzqbkc7h3b3epsgem", 
 
    dataType: "JSON", 
 
    cache: false, 
 
    success: function(data) { 
 
     console.log(data); //already parsed object 
 
     console.log(data.response); //try accessing your property. 
 
    } 
 
    }); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>

0

Вопрос заключается в том, что же хотите архивировать ?, данные должны быть объектом, который уже содержит все, что вам нужно. Теперь вы можете сделать что-то вроде: data.response.results [0] .webTitle

Смежные вопросы