我正在尝试使用 JavaScript 包 JSPsych 编写一个实验。我的实验的 MWE 应该执行以下操作:参与者在调查文本试验中输入一封信,在接下来的 html 响应试验中,这封信应该作为刺激呈现给参与者。
我的问题是我无法找到一种方法来访问调查文本试验中参与者的输入。我的程序结构遵循 JSPsych 网站上的反应时间教程:试验一个接一个地创建,并推入一个timeline
数组,该数组在代码的最后启动。这意味着在定义试验时,用户还没有输入任何内容。
我的 MLE 代码可以在下面找到。在浏览器中运行实验时,我可以使用JSON.parse(jsPsych.data.getLastTrialData().select('responses').values).favorite
. 但是,在下面的代码中,这会产生以下错误:SyntaxError: JSON.parse: unexpected end of data at line 1 column 1 of the JSON data
,因为(我强烈认为)在编译代码时没有最后一次试验。
let letter_display, letter_survey, test_procedure, timeline;
timeline = [];
letter_survey = {
type: "survey-text",
questions: [
{prompt: "What is your favorite letter?", name:"favorite"}
],
}
timeline.push(letter_survey);
letter_display = {
type: 'html-keyboard-response',
stimulus: jsPsych.timelineVariable('stimulus'),
};
test_procedure = {
timeline: [letter_display],
timeline_variables: [{type:'html-keyboard-response', stimulus: JSON.parse(jsPsych.data.getLastTrialData().select('responses').values).favorite}]
};
timeline.push(test_procedure);
jsPsych.init({
timeline: timeline
})