简体   繁体   中英

Amazon Mechanical Turk externalSubmit error

I am trying to implement an external question in Amazon Mechanical Turk. Everything is working fine except for the submit input which keeps returning the following error:

There was a problem submitting your results for this HIT.

This HIT is still assigned to you. To try this HIT again, click "HITs Assigned To You" in the navigation bar, then click "Continue work on this HIT" for the HIT. If this problem persists, you can contact the Requester for this HIT using the "Contact" link above.

To return this HIT and continue working on other HITs, click the "Return HIT" button.

I have tried everything I can to make the submit task button work and have checked every post I could find on Google and on this website but nothing works.

This is the code for the submit button on my website:

<form name="hitForm" id="hitForm" action="https://workersandbox.mturk.com/mturk/externalSubmit" method="POST">
<input type="hidden" name="assignmentId" value="<?php echo $_REQUEST["assignmentId"]; ?>" />
<input type="hidden" name="hitId" value="<?php echo $_REQUEST["hitId"]; ?>" />
<input type="hidden" name="workerId" value="<?php echo $_REQUEST["workerId"]; ?>" />
<input type="submit" class="btn btn-primary btn-lg active" role="button">
</form>

The user needs to click the submit button on the form once they are done with the task to submit the HIT and receive their payment. I have tried sending the form with more and with less information, I have tried hard coding the information (of the user currently testing the HIT) to the form, I have tried using a hyperlink with the user data, and I have tried submitting the task from different users, from different computers, from different networks, and so on.

Any assistance on this error will be greatly appreciated.

Edit:

I have tried what Thomas has said but I still get the same error message. My form now looks like this:

<form name="hitForm" id="hitForm" action="https://workersandbox.mturk.com/mturk/externalSubmit" method="POST">
<input type="hidden" name="assignmentId" value="<?php echo $_COOKIE["PlayerUserName"]; ?>" />
<input type="hidden" name="foo" value="" />
<input type="submit" class="btn btn-primary btn-lg active" role="button">
</form>

And yes, I am working on the requester sandbox to make sure my entire HIT works properly before opening it to the regular Mechanical Turk.

A couple of possibilities:

  1. Are you using this on the live site? The external submit URL you're using is only for the sandbox. You have to replace workersandbox with www for the live server.
  2. You should not pass hitId or workerId back to the submit URL. These are ignored by MTurk, so there's no point in trying to send them.
  3. You need to send one additional input field besides assignmentId , otherwise the submission will fail. A hidden "foo" field, for example, would be sufficient.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM