Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11
  1. #1

    Trovare un'alternativa alla funzione location.replace()

    Salve a tutti,
    sto realizzando un gestionale per una ditta ed ho usato moltissimo il linguaggio ajax per diversi scopi.
    Per alcune funzioni però ho avuto la necessità di far aggiornare la pagina una volta eseguite, questa è la funzione che ho scritto per eseguire il refresh
    codice:
    function refresh_page(data){
    	if(data){
    		if(isNaN(data)){
    			//errore
    			print_general("Ops, si è verificato un problema", data);
    		}else{
    			//corretto
    			var newurl = window.location.href.replace(/&err=/gi, "&pb=");
    			location.replace(newurl);
    		}
    	}else{
    		var newurl = window.location.href.replace(/&err=/gi, "&pb=");
    		location.replace(newurl);
    	}
    }
    come vedete non è un vero e proprio refresh, questo perchè prima di aggiornare ho bisogno di "togliere" alcuni parametri dall'url..

    Ora, su tutti i browser/computer sulla quale l'ho testata funziona (chrome, opera, firefox, safari..tutto), va ad eseguirla il mio capo e bam! si inchioda e non aggiorna nulla! la cosa curiosa è che nella console non da nemmeno un errore (questo poi con tutti i suoi browser)..

    Non ho idea di cosa possa essere andato storto però ho bisogno di capire come risolvere il problema, esiste un alternativa a questa funzione per poter reindirizzare la pagina ad un nuovo url? E se fosse un problema del computer del mio capo, magari qualche configurazione che "blocca" questo tipo di funzioni, dove vado a guardare?

    Grazie!

  2. #2
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,131
    Potrebbe essere una impostazione della cache del pc del tuo capo, io togli ajax quando devi ricaricare la pagina ed eseguirei una chiamata get/post "tradizionale".
    D'altronde va detto che la prerogativa di ajax e quella di non ricaricare la pagina pertanto usare ajax e ricaricare il documento è una contraddizione.
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  3. #3
    Ciao Andrea grazie per la risposta, mi rimane difficire non usare ajax per queste funzioni poichè vengono chiamate direttamente da js dopo determinate operazioni "visive" (per esempio drag&drop), l'aggiornamento della pagina è richiesto solo quando per "colpa" di un particolare dato modificato l'intera pagina deve essere modificata e quindi è molto più veloce e sicuro fare refresh.

    Eseguire una chiamata get/post "normale" mi risulta difficile quindi perchè dovrei farla fare a js ma visto che ha questo problema dubito che ci riesca..

    Parlavi di un'impostazione della cache del suo pc, hai idea di cosa possa essere?

  4. #4
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,131
    Non fraintendermi non devi togliere tutti i processi ajax, ma togliere solo quello che una volta eseguita la chiamata per x motivi devi ricaricare il documento, questo (e solo questo) lo esegui in get (come si sarebbe fatto prima ajax diventasse una regola/moda).
    E' solo una ipotesi la cache (oltretutto remota) che sia il problema sul pc del tuo capo, ed essendo un'ipotesi non ho ne idee ne soluzioni.
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  5. #5
    Scusa la domanda forse scema ma cosa intendi di preciso con "lo esegui in get"?

  6. #6
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,131
    Quote Originariamente inviata da VincenzoB92 Visualizza il messaggio
    Scusa la domanda forse scema ma cosa intendi di preciso con "lo esegui in get"?
    Tua-pagina-server.xxx?variabile=valore come se fosse un link
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  7. #7
    Ah ok chiaro,
    comunque per andare all'indirizzo "Tua-pagina-server.xxx?variabile=valore" dovrei comunque fare una chiamata del tipo "location.replace('Tua-pagina-server.xxx?variabile=valore');" oppure "location.href = 'Tua-pagina-server.xxx?variabile=valore';" poichè l'utente non preme veramente in un link ma viene reindirizzato ad una certa pagina solo dopo un'operazione come ad esempio un drag&drop. Il problema è che se queste chiamate non funzionano mi risulta impossibile fare reindirizzamenti..

  8. #8
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,131
    Cosa vuoi che ti dica... se non puoi fare o gestire chiamate get e il replace non funziona su tutti i pc, non mi risulta ci siano altre strade
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  9. #9
    Capisco..che tu sappia esiste una qualche funzione jquery per fare un redirect?

  10. #10
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    Hai provato a dividere in due l'istruzione?

    var newurl = window.location.href;
    newurl = newurl.replace(/&err=/gi,"&pb=");
    location.replace(newurl);
    Il guaio per i poveri computers e' che sono gli uomini a comandarli.

    Attenzione ai titoli delle discussioni: (ri)leggete il regolamento
    Consultate la discussione in rilievo: script / discussioni utili
    Usate la funzione di Ricerca del Forum

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 © 2024 vBulletin Solutions, Inc. All rights reserved.