Задать вопрос

Использование параметров метода execute в хранимых процедурах?

Вопрос к тем, кто работал с хранимыми процедурами вконтакта.

Есть хранимая процедура ищущая группы с аудиозаписями:
var q;
var groups = API.groups.search({"q": q});
if (groups.length == 0) {
    return {};
}

var i = 1;
var res = [];
while (i < groups.length - 1){
    i = i + 1;
    var grp = groups[i];
    var songs = API.audio.getCount({oid: -grp.gid});
    if ( songs > 1 &&
        (grp.is_closed == 0 || grp.is_member == 1)) 
    {
        res = res + [{"songs" : songs,
                        "gid" : grp.gid,
                        "name" : grp.name,
                        "screen_name" : grp.screen_name,
                        "photo": grp.photo}];
    }
}
return  res;


На странице создания хранимых процедур написано:

Вы можете вызвать созданные в интерфейсе хранимые процедуры используя следующую конструкцию:
api.vk.com/method/execute.ИМЯ_ПРОЦЕДУРЫ?СПИСОК_ПАР...


Переданные параметры будут доступны внутри кода процедуры в виде обычных переменных.



Подскажите что это значит?

Если не объявлять var q то он ругается на неизвестный литерал.

Что мне нужно сделать чтобы передать значение q в запросе и использовать его в коде?

Опыта с JavaScript и тем более ECMAScript честно говоря не имею.
  • Вопрос задан
  • 7826 просмотров
Подписаться 5 Оценить Комментировать
Пригласить эксперта
Ответы на вопрос 1
Ваш пример вообще работает? :)
Для передачи параметров в execute используйте:

var q=Args.q;

Переменную q можно отправлять как GET так и POST запросом.

П.С.: При работе с VKScript не поможет любой опыт… Там почти никакая логика не работает.
Ответ написан
Ваш ответ на вопрос

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

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