Как использовать 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.