Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > JavaScript: для новичков > выполнение AJAX запроса


Автор: Tokagero 5.6.2012, 15:30
Появилась нужна сформировать запрос, послать, получить ответ, парсить его, ну и на свои нужды использовать.

Имеем следующий запрос:
https://api.vk.com/method/likes.getList?type=video&owner_id=-8742821&item_id=163112924

Открывая браузером, прекрасно видим что все на месте.
накидал test.html (на форме div id="content"), подключил jquery.min, полключил test.js

ну и имеем нечто типа:
Код

$(document).ready(function(){
var response = '';

$.ajax({
    url: 'https://api.vk.com/method/likes.getList?type=video&owner_id=-8742821&item_id=163112924',        
    type : "GET",                
    dataType: "text",
    success: function (text) { response = text; 
    }
});

document.getElementById("content").innerHTML = response;
});


Результат - не происходит ничего. Если промежуточных alert'ов напихать - все выпрыгивает, но в конце пусто.

ps можно ли выудить параметр, скажем, count, дабы упросить парсинг?

Автор: Aliance 6.6.2012, 10:25
Я так понимаю VK не дает прямого доступа к своему API путем неустановки заголовка Access-Control-Allow-Origin

http://jsfiddle.net/Aliance/cdJnF/

http://javascript.ru/ajax/cross-origin-2#xmlhttprequest-2-xdomainrequest

Автор: Tokagero 6.6.2012, 11:26
Цитата(Aliance @  6.6.2012,  10:25 Найти цитируемый пост)
Я так понимаю VK не дает прямого доступа к своему API путем неустановки заголовка Access-Control-Allow-Origin

Пример реализации

Подробнее 

Хмм, окей, пример не работает, но в любом случае как тогда реализовать все это дело? Запихивать на форму фреймы с запросами?

РЕШЕНО

Почитал ваши ссылки, но не в этом дело. Полез к API контакта искать сведения по параметрам запросов, наткнулся на эту страничку:
http://vk.com/developers.php?oid=-17680044&p=Making_Requests_to_API

в конце абзац с примером запроса. без jquery даже, в итоге сменив на свой лад - все еще получал пустоту.
Поправив ошибки, стал получать ответ [object] [Object]. Ну и тут мозги доехали в чем дело...
Глянул в структуру ответа получилось что в ответ приходит response, стостоящий из "count" и массива "users"
В итоге не нужно парсить ответ.

Код

var script = document.createElement('SCRIPT'); 

script.src = "https://api.vk.com/method/likes.getList?type=video&owner_id=-8742821&item_id=163112924&callback=callbackFunc"; 

document.getElementsByTagName("head")[0].appendChild(script); 

function callbackFunc(result) { 
  document.getElementById("content").innerHTML = result.response.count;
} 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)