Visualizzazione dei risultati da 1 a 5 su 5
  1. #1

    [jquery] gestire eventi ajaxStart e ajaxStop con il load

    salve a tutti,

    piccolo problema con gli eventi ajax, ho questa funzione:

    Codice PHP:
     $(document).ready(function ()
        {
           var 
    urlProcessData 'home/saveResult';

           
    /*
            * Bof gestione chiamate ajax
            */
                    
    $('#loading').ajaxStart(function (eventrequestsettings)
                    {

                     
                        $(
    this).fadeIn();   //  faccio comparire il div con la gif di loading
                        
    $('#box_test').fadeOut(function(){
                            $(
    this).html(" ");      //svuoto il contenuto del div box test
                        
    });

                        
                    });

                    $(
    '#loading').ajaxStop(function (eventrequestsettings)
                    {
                          $(
    this).hide(); // nascondo il div con la gif di loading 
                          
    $('#box_test').fadeIn(function()
                          {
                              $(
    this).load('ajax/'   ajaxpage +    '.php');   //faccio comparire di nuovo il boxtest con il nuovo contenuto
                                                                                //chiamando una pagina esterna
                          
    })
                         
                    });

               
    /*
                * Eof gestione chiamate ajax
                */     

            
    $('.btn_submit').click(function()
            {
                
    // al click del bottone faccio partire la prima chiamata ajax
                  
    $.ajax({
                   
    url:     urlProcessData,
                   
    type:    'post',
                   
    data:    $('#Form').serialize()

                });

            });



        }); 
    ora se clicco una prima volta vedo il loading apena stoppata la prima chiamata carica la pagina per un istante e con il load parte un'altra chiamata ajax che fa eseguire l'evento ajaxStart andando cosi in loop.

    come posso risolvere?

    grazie un saluto a tutti

  2. #2
    sto facendo altre prove con ajaxobj.abort() e usando $.get di jquery al posto di load
    - load non viene considerato un oggetto XHR a differenza di get quindi posso interrompere quella richiesta inizializzando l'oggetto - ma non so come poter iniettare l'html ricavato dal get e gestire in modo corretto l'abort in riferimento alla funzione che vi ho mandato sopra.

    spero in un vostro aiuto

  3. #3
    nessuno ha mai incontrato un problema simile? sto impazzendo...

  4. #4
    se a qualcuno può essere utile ho fatto delle modiiche alle chiamate ajax notando dei miglioramenti:

    Codice PHP:
     $(document).ready(function ()
        {
            
           var 
    urlProcessData 'home/saveResult';

            $(
    '.btn_submit').click(function(x)
            {
                
    // al click del bottone faccio partire la prima chiamata ajax

             
    var = $.ajax({
                   
    url:     urlProcessData,
                   
    type:    'post',
                   
    data:    $('#Form').serializeArray(),
                 


                });



            });


                    $().
    ajaxStart(function (eventrequestsettings)
                    {

                        
                        $(
    '#loading').fadeIn();   //  faccio comparire il div con la gif di loading
                        
    $('#box_test').fadeOut(function(){
                            $(
    this).html(" ");      //svuoto il contenuto del div box test
                        
    });


                        

                        
                        
                    });

                    $().
    ajaxStop(function()
                    
                      { $(
    '#loading').hide();
                       var 
    = $.get('ajax/'   ajaxpage +    '.php', function(data)
                               {
                                   $(
    '#box_test').fadeIn(function()
                                   {
                                       $(
    this).append(data);

                                   });
                                   
    alert(y);
                               }); 
                       });






        }); 
    spero che qualcuno davvero mi aiuti.

  5. #5
    Utente di HTML.it L'avatar di cassano
    Registrato dal
    Aug 2004
    Messaggi
    3,002
    Ma gli eventi Ajax si attivano solo usando l'api .ajax, oppure si possono usare anche in combinazione con updatepanel (asp.net) ?

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.