[Ajax-Jquery] Richiesta ajax con cambio url

di il
1 risposte

[Ajax-Jquery] Richiesta ajax con cambio url

Ho inserito in un mio progetto uno script per la richiesta del contenuto tramite ajax request, in un div con id "#result" , dopodichè ho aggiunto un'altro script per la modifica automatica dell'url della pagina dopo questa richiesta..

Le richieste sulla pagina mi vengono lette correttamente , il problema è quando viene effettuata una nuova richiesta all'interno del div #result.

Se invece imposto un collegamento href (ex. prova.php) in un primo istante mi carica la parte centrale del div result correttamente, ma subito dopo mi reflasha tutta la pagina, mentre se inserisco un return false; o # mi funziona la richiesta all'interno del div stesso ma ovviamente non mi cambia l'url.




C'è modo di far funzionare entrambi gli script anche all'interno del div di result? o qualche codice js che faccia in modo che il collegamento href non venga preso in considerazione e quindi non faccia ricaricare tutta la pagina completamente?



Il codice per il cambio indirizzo è il seguente:
	
jQuery(document).ready(function() {
   $('a.clickurl').click(function(event) {
   alert('C\'è stato un problema alla connessione.');
      var currentPage = document.location.pathname.substring(document.location.pathname.lastIndexOf('/') + 1);
      if ($(this).attr('href') != currentPage){ 
         if (history && history.pushState) {  
            history.pushState(null, document.title, $(this).attr('href'));
               $.get($(this).attr('href'), {ajax:'1'}, function(data, text, xhr) {
                  pageSlider(data, text, xhr);
               });
             
            event.preventDefault(); 
         }
     }
   });

1 Risposte

  • Re: [Ajax-Jquery] Richiesta ajax con cambio url

    Ho parzialmente risolto aggiungendo un'altra porzione di codice solo per la pagina di risultato:
       $("#result").click(function(event) {
          var currentPage = document.location.pathname.substring(document.location.pathname.lastIndexOf('/') + 1);
             if (history && history.pushState) {  
                history.pushState(null, document.title, $(this).attr('href'));
                   $.get($(this).attr('href'), {ajax:'1'}, function(data, text, xhr) {
                      pageSlider(data, text, xhr);
                   });
                event.preventDefault(); 
             }
       });  
    Anche con i collegamenti ipertestuali settati su una pagina funziona, ma continua a non modificare l'indirizzo url, qualcuno più esperto di me potrebbe aiutarmi?
    Il problema potrebbe essere che essendo un risultato preso da una pagina dinamica esterna non riesce a modificare l'url della "scatola" originale..
Devi accedere o registrarti per scrivere nel forum
1 risposte