首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用POST设置SurveyJS调查的结果?

如何使用POST设置SurveyJS调查的结果?
EN

Stack Overflow用户
提问于 2018-05-22 06:19:37
回答 1查看 853关注 0票数 0

是否可以使用POST来设置SurveyJS调查的结果?

我可以使用GET来获取调查结果,但我在设置方面遇到了困难。

下面是我用来获取结果的代码:

代码语言:javascript
复制
urlToSurvey = "https://dxsurvey.com/api/MySurveys/getSurveyResults/surveyID?accessKey=myKey";

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

我想使用SurveyJS在一个开源插件(适应学习)中存储学生的进度,所以我想直接将进度数据发布到SurveyJS,因为我不能在插件中运行独立的html。

任何帮助都是非常感谢的。谢谢!

EN

回答 1

Stack Overflow用户

发布于 2018-06-26 21:55:20

您可以检查此文件- https://github.com/surveyjs/surveyjs/blob/master/src/dxSurveyService.ts

以下是负责发送结果的代码:

代码语言:javascript
复制
  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和result json。您可以从服务的MySurveys页面获取postId (https://surveyjs.io/Service/MySurveys/请注意,MySurveys页面需要授权)。

这是一段TypeScript代码,但我确信它可以很容易地转换为JS。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50457287

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档