jQuery, méthode de conversion $ .ajax à $ .post

J’essaie de créer un formulaire simple pour télécharger des fichiers avec jquery / ajax. cela fait partie de mon code:

var formData = new FormData($(this)[0]); $.ajax({ url: 'uploader.php', type: 'POST', data: formData, async: false, cache: false, contentType: false, processData: false, success: function (data) { $('#ShowR').html(data); } }); 

J’essaie de changer ce code en méthode $ .post comme ceci:

 var formData = new FormData($(this)[0]); $.post('uploader.php', {action:"ShowGTR",MyFiles:formData}, function(data) { $('#ShowR').html(data); }); 

J’ai essayé de plusieurs manières mais je ne pouvais pas corriger le code et dans la console de Google Chrome j’ai eu cette erreur:

 Uncaught TypeError: Illegal invocation 

J’ai donc besoin de votre aide pour corriger ce code et convertir la méthode $ .ajax en méthode $ .post . J’apprécie vraiment si quelqu’un peut m’aider pour cela.

Si la seule raison pour laquelle vous voulez convertir votre appel $ .ajax en un appel $ .post est d’append un paramètre, vous n’avez pas besoin de le convertir pour $ .post. Ce que vous devez faire est d’ append le paramètre à l’object formdata.

  var formData = new FormData(this); formData.append("action", "ShowGTR"); $.ajax({ url: 'uploader.php', type: 'POST', data: formData, async: false, cache: false, contentType: false, processData: false, success: function (data) { $('#ShowR').html(data); } }); 
 $.post( "ajax_file.php", {username:"someone"} ,function( data ) { $("#div-id").html(data); }); 

C’est la syntaxe générale de jquery post.