[英]How to query LRS by agent via javascript
我覺得我已經嘗試了一切,但我一直在做空。 我正在編寫 Storyline 360 中的一門課程,並且在使用動詞和 object ID 時,我能夠很好地返回語句,但無論我如何嘗試返回特定代理的語句,我都無法通過 go .
這是我現在的代碼 - 我確實返回了大量的語句......我需要知道的是如何讓它查詢當前學習者的語句以進行匹配。 我可以輸入他們的名字或 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
object 中設置agent
屬性。 假設代理是語句中的actor
。
lrs.queryStatements(
{
params: {
agent: TinCan.Agent.fromJSON(getParameterByName('actor'))
}
},
...
);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.