Dans ma page, j'ai un formulaire pour télécharger des photos sur un service externe qui fournit une API, upload.im, et j'ai besoin de récupérer l'URL où l'image a été téléchargée. Je ne peux vraiment pas faire fonctionner ceci ...Publication d'un formulaire multipart vers une URL externe php
La page de documentation pour cette API est here.
J'ai ajouté un formulaire à ma page PHP:
<form enctype="multipart/form-data" name="UploadForm" id="UploadForm" action="http://uploads.im/api" method="POST">
<input type="hidden" name="MAX_FILE_SIZE" value="30000" />
<input type="file" name="upload" id="upload" />
<input type="hidden" name="resize_width" id="resize_width" value="" />
<input type="hidden" name="thumb_width" id="thumb_width" value="250" />
<input type="hidden" name="format" id="format" value="xml" />
<input type="submit" id="Submit" name="Submit" />
</form>
J'ai aussi essayé d'utiliser ce code jQuery pour soumettre le formulaire avec l'image sélectionnée:
$(document).ready(function() {
$('#UploadForm').on('submit', function(e) {
e.preventDefault();
var data = new FormData(jQuery('UploadForm')[0]);
jQuery.ajax({
url: 'http://uploads.im/api',
data: data,
cache: false,
contentType: false,
processData: false,
type: 'POST',
success: function(data){
console.log(data);
}
});
});
});
Avec ce code, je reçois l'erreur dans la console: screen.png http://i68.tinypic.com/zmnyq8.png Quel est le code d'erreur de l'API; cela signifie que le code fonctionne, mais quelque chose dans la façon dont le formulaire est soumis est faux. Où est le problème?
Merci!
La forme est très bien, le problème est dans le code js, je suis en train de le réparer . – esJuanMa
Est-ce que 'e.preventDefault();' ne devrait pas être à la fin? – rybo111
Aussi pourquoi utilisez-vous 'jQuery ('UploadForm') [0]' par opposition à '$ (this) [0]', et 'jQuery.ajax' par opposition à' $ .ajax'? – rybo111