J'utilise Amazons Mechanical Turk (Mturk) et j'essaie de soumettre une assignation comme étant complète pour qu'un travailleur puisse être montré au prochain HIT.Mturk externalQuestion avec jquery.ajax POST: erreur Access-Control-Allow-Origin
J'utilise externalQuestion et mon serveur stocke toutes les données que les travailleurs saisissent. Après un travailleur terminé, ils cliquent sur un bouton d'envoi qui envoient le POST suivant:
$.ajax({
url: self.props.userData.turkSubmitTo + '/mturk/externalSubmit',
data: {assignmentId:self.props.userData.assignmentId},
type: 'POST',
success: function(resp) { console.log('good');},
error: function(resp, err) { console.log('fail'); console.log(resp); console.log(err);}
});
Malheureusement, je reçois l'erreur suivante:
XMLHttpRequest cannot load https://workersandbox.mturk.com/mturk/externalSubmit?assignmentId=3AMYWKA6YBMSYVY7OGYPJIPCGPK6OK. No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'https://shrouded-plains-8041.herokuapp.com' is therefore not allowed access.
Notez que si je poste avec « jsonp » dataType pour essayer de contourner ce problème inter-domaine apparent puis le soumettre fonctionne bien, mais le iframe externalQuestion ne rafraîchit pas à la prochaine HIT. Je ne sais pas pourquoi j'obtiens ce problème inter-domaine «Access-Control-Allow-Origin». Toute aide s'il vous plaît?
S'il vous plaît faire une recherche sur le Web pour cette erreur. Il arrive ici plusieurs fois par jour. En ce qui concerne l'utilisation de jsonp, vous ne pouvez pas utiliser 'POST' et jsonp puisqu'il s'agit d'une requête de script non ajax. Une réponse courte est que vous devez activer CORS sur API si possible ou utiliser un proxy – charlietfl
Ok merci! Oui j'ai fait une quantité de googling. Cela a du sens à propos de jsonp, et pourquoi cela ne fonctionne pas comme prévu. Je n'ai pas accès à l'API pour activer les CORs. Je suppose que cela devra être un proxy alors. Il semble étrange que Mturk d'Amazon nécessite un proxy pour faire cette opération assez standard (et cette étrangeté est la raison pour laquelle je pose cette question). Est-ce que n'importe qui avec l'expérience de Mturk peut commenter s'il vous plaît? – Yetti