К содержанию
Содержание

4. Получение результатов опроса через JS-callback

Данный функционал не доступен для браузеров Internet Explorer ниже 8-й версии и некоторых мобильных браузеров

Для того чтобы Ваша JavaScript-функция могла получать результаты опроса от Simpoll API должно быть выполнено несколько условий:

  1. В настройках опроса включена опция «Включить отправку результатов»;
  2. В поле «Метод передачи» выбран JS;
  3. Опрос должен быть встроен на страницу Вашего сайта (код вставки можно получить в разделе «Распространение» на вкладке «Вставка на сайт»);
  4. На этой же странице должна быть определена функция simpollCallback() с одним входящим параметром.

Аргументом функции simpollCallback() будет являться объект, свойства которого содержат информацию о результатах опроса.

Пример функции simpollCallback():

function simpollCallback(result){
    alert('ID опроса: ' + result.sp_survey_id);
    alert('Имя респондента: ' + result.sp_resp.name);
    if (result.sp_resp.quiz_passed == 1){
        alert('Респондент сдал тест');
    } else {
        alert('Респондент провалил тест');
    }
}

Пример аргумента функции simpollCallback():

{
    "sp_survey_id": "551",
    "sp_survey_key": "aa7ca07e",
    "sp_resp": {
        "id": "172712",
        "ip_addr": "127.0.0.1",
        "name": "Респондент #172712",
        "time_start": "2011-12-13 16:17:00",
        "time_end": "2011-12-13 16:17:13",
        "time_delta": "00:00:13",
        "quiz_passed": "0",
        "quiz_percent": "0",
        "quiz_correct": "1",
        "quiz_wrong": "3"
    },
    "sp_result": "1",
    "sp_answers": {
        "1": ["Испания"],
        "2": ["Пирамиды", "Кремль", "Колизей"]
    }
}

Названия, состав и значения свойств передаваемого объекта полностью идентичны описанным в разделе 3.2.

Если на странице встроено несколько опросов Simpoll, то функция simpollCallback() все равно должна существовать в одном экземпляре. Проверку того, какой из опросов прислал результаты нужно проводить внутри функции, на основании поля sp_survey_id в получаемом объекте.