assignmentId在MTurk接受URL中不可见
我设法使用iframe(外部问题)将我的外部html页面嵌入到mturk命中中 如果工作人员接受我的点击,则生成的URL为: 如何从URL中获取assignmentId在MTurk接受URL中不可见,url,amazon-web-services,mechanicalturk,Url,Amazon Web Services,Mechanicalturk,我设法使用iframe(外部问题)将我的外部html页面嵌入到mturk命中中 如果工作人员接受我的点击,则生成的URL为: 如何从URL中获取分配ID,以便在提交表单中使用它 这是我的表格: <form name='mturk_form' method='post' id='mturk_form' action='https://workersandbox.mturk.com/mturk/externalSubmit'> <!- For real submit use :
分配ID
,以便在提交表单中使用它
这是我的表格:
<form name='mturk_form' method='post' id='mturk_form' action='https://workersandbox.mturk.com/mturk/externalSubmit'> <!- For real submit use : https://www.mturk.com/mturk/externalSubmit-->
<input type='hidden' value='' name='assignmentId' id='here the assignmentId from the url should be inserted'/>
<h1>What's up?</h1>
<p><textarea name='comment' cols='80' rows='3'></textarea></p>
<p><input type='submit' id='submitButton' value='Submit' /></p>
</form>
怎么了?
您需要将一些javascript添加到ExternalHIT HTML中,该HTML将从自己的URL提取参数:
function turkGetParam( name ) {
var regexS = "[\?&]"+name+"=([^&#]*)";
var regex = new RegExp( regexS );
var tmpURL = fullurl;
var results = regex.exec( tmpURL );
if( results == null ) {
return "";
} else {
return results[1];
}
}
// ASSIGNS THE URL PARAMETERS TO JAVASCRIPT VARIABLES
var assign = turkGetParam('assignmentId');
var hit = turkGetParam('hitId');
var worker = turkGetParam('workerId');
然后,您可以使用
assign
变量执行任何您想执行的操作(例如,打印到页面并写入表单字段等)。您好!非常感谢你!哇,这很简单,我想,我只是不再喜欢这些正则表达式了…:/如果我可以问你另一个问题:如果我现在提交这份表格,我会收到这个“著名”的信息。。。你知道我做错了什么吗?@user3494275嗯……通常问题是你没有发送assignmentId,你需要在提交中至少包含一个非空白表单字段,或者任务已经过期。好吧,我包含assignmentId(正如你在第一篇文章中看到的我的表单)任务还没有到期。。。。“至少还有一个非空白表单字段”是什么意思?你能举个例子吗(关于我的表格)?@user3494275 MTurk抱怨如果你只想发回assignmentId
。因此,如果您输入类似于
的内容,这可能会解决问题。。同样的错误…:(