Как использовать POST, чтобы установить результаты опроса SurveyJS?

Можно ли использовать POST для определения результатов опроса SurveyJS?

Я могу использовать GET, чтобы получить результаты опроса, но я борюсь с настройкой.

Вот код, который я использую, чтобы получить результаты:

urlToSurvey = "https://dxsurvey.com/api/MySurveys/getSurveyResults/surveyID?accessKey=myKey";

$.get(urlToSurvey, function(res) {
    console.log(res);
});

Я хочу использовать SurveyJS для хранения успеваемости учащихся в плагине с открытым исходным кодом (Adapt Learning), поэтому я хочу напрямую публиковать данные о прогрессе в SurveyJS, так как я не могу запустить отдельный html в плагине.

Любая помощь приветствуется. Спасибо!

1 ответ

Вы можете проверить этот файл - https://github.com/surveyjs/surveyjs/blob/master/src/dxSurveyService.ts

Вот код, отвечающий за отправку результата:

  public sendResult(
    postId: string,
    result: JSON,
    onSendResult: (success: boolean, response: any) => void,
    clientId: string = null,
    isPartialCompleted: boolean = false
  ) {
    var xhr = new XMLHttpRequest();
    xhr.open("POST", dxSurveyService.serviceUrl + "/post/");
    xhr.setRequestHeader("Content-Type", "application/json; charset=utf-8");
    var data = { postId: postId, surveyResult: JSON.stringify(result) };
    if (clientId) data["clientId"] = clientId;
    if (isPartialCompleted) data["isPartialCompleted"] = true;
    var dataStringify: string = JSON.stringify(data);
    var self = this;
    xhr.onload = xhr.onerror = function() {
      if (!onSendResult) return;
      onSendResult(xhr.status == 200, xhr.response);
    };
    xhr.send(dataStringify);
  }

Обязательные параметры: postId и результат json. Вы можете получить свой postId со страницы сервиса MySurveys ( https://surveyjs.io/Service/MySurveys/ обратите внимание, что страница MySurveys требует авторизации).

Это код TypeScript, но я уверен, что его можно легко преобразовать в JS.

Другие вопросы по тегам