Я продолжаю сталкиваться с загадочными проблемами при тестировании моего примера задачи MTurk в среде песочницы.В запрашивающей среде я создаю задачу, копируя / вставляя код HTML / JS в текстовое поле «Исходный код» в меню «Создать»> «Редактировать проект» (2) «Макет дизайна».
Я могу предварительно просмотреть задачу на этой странице, и она, кажется, работает правильно.Я также могу опубликовать HIT в RequesterSandbox, который выводит меня на эту страницу: RequesterSandbox> Управление> Результаты
Я также могу войти в WorkerSandbox, найти мой HIT и завершить его.Однако, когда я нажимаю «Отправить», я перенаправляюсь на страницу с надписью «Загрузка следующего HIT ...», а затем на другую страницу с надписью «Извините, мы не смогли найти эту страницу. Странно ....страницы, которую вы искали, здесь нет. Пойдем домой и попробуем еще раз "
Возвращаясь назад к RequesterSandbox, нет никаких доказательств того, что HIT был отправлен вообще, и я не могунайти результаты HIT.Я подозреваю, что он не был правильно представлен в WorkerSandbox, но я не уверен, как это исправить.Любой совет будет принята с благодарностью!
Вот код HTML / javascript для моего примера задачи:
// extract url parameters
var queryDict = {};
location.search.substr(1).split("&").forEach(function(item) {
queryDict[item.split("=")[0]] = item.split("=")[1]
})
// use extracted url parameters to populate form
$("#endForm").attr("action",queryDict["host"]);
$("#assignmentID").val(queryDict["assignmentId"]);
$("workerId").val(queryDict["workerId"]);
$("#hitId").val(queryDict["hitId"]);
// reveal submit button after radio button is selected
$('#question_buttons').change(function(){
var btnResponse = $("input[name='theseButtons']:checked").val();
if (btnResponse == "thisOne" || btnResponse == "thatOne") {
$("#endTask").removeClass("hidden");
}
})
// submit response
$("submitButton").click(function() {
$("#endForm").submit();
});
<!DOCTYPE html>
<html lang="en">
<head>
<title>MTurk HIT Test</title>
<meta charset="utf-8" />
<meta content="width=device-width, initial-scale=1" name="viewport" />
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet" />
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
</head>
<form action="https://workersandbox.mturk.com/mturk/externalSubmit" id="endForm" method="post" name="endForm">
<input id="data" name="data" type="hidden" value="" />
<input id="assignmentId" name="assignmentId" type="hidden" value="{{ assignment_id }}" />
<input id="workerId" name="workerId" type="hidden" value="{{ workerId }}" />
<input id="hitId" name="hitId" type="hidden" value="{{ hitId }}" />
<div class="container">
<h3>Write something:</h3>
<br />
<textarea cols="50" name="answer" rows="2"></textarea>
</div>
<div class="container" id="question_text">
<h3>Select one of these options:</h3>
</div>
<div class="container" id="question_buttons">
<div class="radio-inline">
<label><input name="theseButtons" type="radio" value="thisOne" />this one</label>
</div>
<div class="radio-inline"><label>
<input name="theseButtons" type="radio" value="thatOne" />that one</label>
</div>
</div>
<div class="container hidden" id="endTask">
<h3>Submit form by clicking the button below:</h3>
<br />
<input id="submitButton" name="submitButton" type="submit" />
</div>
</form>