如何通过代理查询LRS javascript
How to query LRS by agent via javascript
我觉得我已经尝试了所有方法,但我总是做空。我正在学习 Storyline 360 中的一门课程,在使用动词和对象 ID 时,我能够很好地 return 语句,但无论我做什么来尝试和针对特定代理的 return 语句,我无法通过查询。
这是我现在的代码 - 我在这里做了 return 大量语句...我需要知道的是如何让它查询当前学习者的语句以进行匹配。我可以输入他们的名字或 mbox,但每次都尝试在我的参数中传递这些信息时失败。
非常感谢任何帮助!
var lrs;
var statementFound = false;
var player = GetPlayer();
try {
lrs = new TinCan.LRS(
{
endpoint: "https://cloud.scorm.com/lrs/MYINFO/",
username: "MYINFO",
password: "MYINFO",
allowFail: false
}
);
}
catch (ex) {
console.log("Failed to setup LRS object: ", ex);
// TODO: do something with error, can't communicate with LRS
};
var myObj = JSON.parse(getParameterByName('actor'));
lrs.queryStatements(
{
params: {
verb: new TinCan.Verb(
{
id: "http://adlnet.gov/expapi/verbs/answered"
}
)
},
callback: function (err, sr) {
if (err !== null) {
console.log("Failed to query statements: " + err);
// TODO: do something with error, didn't get statements
return;
}
if (sr.more !== null) {
// TODO: additional page(s) of statements should be fetched
}
if (sr.statements.length > 0) {
statementFound = true;
console.log(sr.statements);
player.SetVar("sf",statementFound);
}
}
}
);
var myObj 能够在需要时提取必要的信息来识别学习者 - 但同样,我只是不知道如何在查询中传递它。
您需要在第一个参数传递的 params
对象中设置一个 agent
属性。假设 Agent 是语句中的 actor
.
lrs.queryStatements(
{
params: {
agent: TinCan.Agent.fromJSON(getParameterByName('actor'))
}
},
...
);
我觉得我已经尝试了所有方法,但我总是做空。我正在学习 Storyline 360 中的一门课程,在使用动词和对象 ID 时,我能够很好地 return 语句,但无论我做什么来尝试和针对特定代理的 return 语句,我无法通过查询。
这是我现在的代码 - 我在这里做了 return 大量语句...我需要知道的是如何让它查询当前学习者的语句以进行匹配。我可以输入他们的名字或 mbox,但每次都尝试在我的参数中传递这些信息时失败。
非常感谢任何帮助!
var lrs;
var statementFound = false;
var player = GetPlayer();
try {
lrs = new TinCan.LRS(
{
endpoint: "https://cloud.scorm.com/lrs/MYINFO/",
username: "MYINFO",
password: "MYINFO",
allowFail: false
}
);
}
catch (ex) {
console.log("Failed to setup LRS object: ", ex);
// TODO: do something with error, can't communicate with LRS
};
var myObj = JSON.parse(getParameterByName('actor'));
lrs.queryStatements(
{
params: {
verb: new TinCan.Verb(
{
id: "http://adlnet.gov/expapi/verbs/answered"
}
)
},
callback: function (err, sr) {
if (err !== null) {
console.log("Failed to query statements: " + err);
// TODO: do something with error, didn't get statements
return;
}
if (sr.more !== null) {
// TODO: additional page(s) of statements should be fetched
}
if (sr.statements.length > 0) {
statementFound = true;
console.log(sr.statements);
player.SetVar("sf",statementFound);
}
}
}
);
var myObj 能够在需要时提取必要的信息来识别学习者 - 但同样,我只是不知道如何在查询中传递它。
您需要在第一个参数传递的 params
对象中设置一个 agent
属性。假设 Agent 是语句中的 actor
.
lrs.queryStatements(
{
params: {
agent: TinCan.Agent.fromJSON(getParameterByName('actor'))
}
},
...
);