Получить последние посты посредством vk api

Рейтинг: 2Ответов: 2Опубликовано: 19.11.2014

Нужно вывести последние 5 постов из профиля пользователя (определяется по id) средства javascript. Каким образом можно распарсить ответ и вставить в определенный div (скажем, #vk). Сам дошёл только до такого:

 $.ajax({     
      url: "http://api.vk.com/method/wall.get?domain=example&count=5&filter=5",
     dataType: "jsonp",    
     success:function(e){ 
         $("#vk").html(e.response[0])  
     }   
});

Ответы

▲ 2Принят

Вы всё правильно делаете. Чтобы посмотреть, что приходит в ответе лучше откройте браузерную консоль, а в JS сделайте console.log(e).

В том виде запроса, как у вас, ВК вернёт объект response с массивом, где 0-й элемент — число, счётчик записей, а следующие элементы — сами записи. Надо добавить параметр версии api: v=5.26, чтобы ВК вернул объект со свойствами count и items. См. документацию метода wall.get().

Вот этот fiddle поможет вам начать.

▲ 1

Для начала стоит разобраться, что такое JSONP.
Это один из способов обойти запрет на кросс-доменные запросы, который заключается в том, что в пришедших данных c того домена есть явный вызов функции, объявленной на этом домене. Другими словами, приходят такие данные, которые на самом деле данные, обернутые в вызов функции:

func({...});

Этот func надо а) объявить параметром callback в запросе и б) прописать в ключе jsonp в запросе. Только после этого данные будут получены.