2010-07-04 5 views
1

J'ai le code suivantPourquoi ma requête .ajax signale-t-elle ABORTED dans Firebug?

$(function(){ 
    $("#AddMaps").submit(function(){ 

     var $form = $('#AddMaps'); 

     $.ajax({ 
      type: 'POST', 
      url: 'test_multiple.php', 
      data: $form.serialize(), 
      dataType: "json", 
      beforeSend:function(){ 
       $('#ajax-panel').html('<div class="loading"><img src="loader.gif" alt="Loading..." /></div>'); 
       //alert(data); 
      }, 
      success:function(data){ 
       $('#ajax-panel').empty(); 
       if (data.response != "Success"){ 
        $('#ajax-panel').append('Error Occurred'); 
       } 
       else { 
        $('#ajax-panel').append('File(s) Uploaded'); 
       } 
      }, 
      error:function(){ 
       // Failed Request; Freak out 
       $('#ajax-panel').html('<p class="error"><strong>Oops!</strong> Try that again in a few moments.</p>'); 
      } 
     }); 
     return false; 
    }); 
    }); 

Lorsque cet événement se déclenche, Firebug signale que cet événement est annulé. En outre, dans beforeSend l'alerte n'affichera aucune donnée (si elle n'est pas commentée, évidemment). À ce stade, je pense que data n'est pas peuplée de façon appropriée, mais Firebug montre les données correctes dans la demande: server=1&maps%5B%5D=europe.tar.bz2

Pourquoi ma demande s'avortés?

+1

je l'ai déjà commenté votre post précédent avant, télécharger des fichiers ne peut pas être fait avec '$ .ajax()' – Reigel

Répondre

1

Comme détaillé par Reigel, AJAX ne peut pas gérer les téléchargements de fichiers. (Je ne le savais pas jusqu'à il y a quelques jours.)

Il existe cependant un objet Javascript capable de gérer un téléchargement de fichier et d'interagir avec jQuery. NOTE: Ce n'est pas AJAX, dans le sens traditionnel du mot, mais comble le fossé que vous traitez actuellement.

AJAX Upload

+0

Je suis partie à Jquery forme (http://jquery.malsup.com/form /). D'accord, c'est le seul que j'ai utilisé. Il vous permet de télécharger des choses et de rester sur la page sans recharger, ce que je devine est la chose que vous (@Andy) recherchez. – MrBoJangles

Questions connexes