Как выполнить запрос к серверу vk на языке javascript?

Пробую использовать элементарный способ выполнения запроса и получения ответа (XMLHttpRequest) без внедрения методов VK.Api в код, однако ожидаемого ответа - json строки - не получаю. Однако если перейти по адресу запроса, то процедура выполняется корректно и на экране появляется json строка с access_token="....." и expires_in="0".
В чём моя беда?
var request= new XMLHttpRequest();
    request.open('GET','https://oauth.vk.com/access_token?client_id=********&client_secret=********&v=5.50&grant_type=client_credentials',false);
    request.send();
    alert(request.responseText);


Вот тут описан порядок составления запроса
  • Вопрос задан
  • 1030 просмотров
Решения вопроса 1
mourr
@mourr
Passionate JS developer
Ваша беда в том что политика same-origin не дает вам сделать запрос. Такие запросы лучше либо делать с сервера, либо использовать JSONP и/или другие методы обхода
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
shurik_sh
@shurik_sh
Начинающий программист
Я баловался с Api только, и тоже пробовал XMLHttpRequest, но получилось только с JSONP
к примеру такой код:
$.ajax({
  url: 'https://api.vk.com/method/database.getCities?',
  data: {

    country_id: "1",
    q: "Санкт"
  },
  type: 'GET',
  dataType: 'jsonp',
  success: function(data) {
    console.log(data.response[0])
  }
})
Ответ написан
Комментировать
NeiroNext
@NeiroNext
А откуда вы пробуете этот код вызвать ???
По политике безопасности этот вызов XMLHttpRequest возможен только из текущего домена, это ограничение безопасности JS, либо и другого, но если сервер отдает специальный заголовок разрешающий это для Вашего домена.
То есть вызвать такой код с консоли, находясь на странице ВК получится, а с другой - нет.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы