跳转至

jsPsych.turk

jsPsych.turk模块包含了和Mechanical Turk交互的函数。


jsPsych.turk.submitToTurk

jsPsych.turk.submitToTurk(data)

参数

参数 类型 描述
data 对象 当前参数中的数据会被Mechanical Turk保存,并可以通过Mechanical Turk保存为CSV文件。注意:当前参数至少要有一对键值对,否则HIT无法正确提交。

返回值

无。

描述

当前方法会将HIT提交到Mechanical Turk,从而结束HIT。

当前只有从Mechanical Turk网站调用时才会生效。如果我们使用外部HIT,让被试跳转到了托管在我们服务器上的界面,则当前方法失效。只有在我们将实验内容呈现在Mechanical Turk网站页面上的一个iframe元素内,当前方法才会生效。

示例

<p>Enter the code you were given:</p>
<input type="text" id="code"></input>
<button onclick="sendData();">Submit HIT</button>

<script>
// this content must be loaded in the iframe on the mechanical turk website.
// usually, this means that the content is part of your 'recruitment ad', the
// page the workers can see when they are deciding whether or not to accept a HIT.
// one option is to include a simple form on this page that workers submit, with a
// special code that they get at the end of the experiment.

function sendData() {
  jsPsych.turk.submitToTurk({
    code: document.getElementById('code').value
  });
}
</script>

jsPsych.turk.turkInfo

jsPsych.turk.turkInfo()

参数

无。

返回值

返回包含以下6个属性的对象:

  • .assignmentId 为HIT的assignment ID
  • .hitId 为HIT ID。
  • .workerId 为当前被试的worker ID。
  • .turkSubmitTo 为提交HIT的URL。该参数用于jsPsych.turk.submitToTurk方法。
  • .previewMode 是一个布尔值,表明被试是否接受了HIT。如果被试在Mechanical Turk内查看当前页、且还没有店家'Accept HIT',则当前值为true。如果被试在Mechanical Turk外部查看页面或者已经接受了HIT,则当前值为false。
  • .outsideTurk 是一个布尔值,表明被试是在Mechanical Turk内查看页面还是通过别的方式(如,直接访问页面URL)查看页面。

描述

当前方法会返回当前Mechanical Turk进程的基本信息,包括worker ID, assignment ID, 和 HIT ID。

示例

var turkInfo = jsPsych.turk.turkInfo();

alert('Worker ID is: ' + turkInfo.workerId);

alert('Assignment ID is: ' + turkInfo.assignmentId);

alert('HIT ID is: ' + turkInfo.hitId);

// true if the page is viewed within Mechanical Turk, 
// but worker has not accepted the HIT yet.
// false if the page is viewed outside Mechanical Turk,
// OR the worker has accepted the HIT.
alert('Preview mode? ' + turkInfo.previewMode); 

// true if the page is viewed outside mechanical turk,
// false otherwise.
alert('Outside turk? ' + turkInfo.outsideTurk);