2010-02-01 4 views
1

Lorsque j'utilise le lien suivant dans mon navigateur, un enregistrement est rempli dans le formulaire sur cette page pour le modifier. Lorsque je clique sur le bouton 'SAVE', l'enregistrement est mis à jour avec succès dans la base de données et le formulaire avec les valeurs mises à jour est toujours en face de moi. C'est OK pour moi. Mais j'ai seulement un problème après la publication du formulaire. Dans la barre d'adresse, l'URL est toujours la même qu'avant.Comment supprimer les params de l'URL après l'envoi du formulaire?

http://vcred.dev/#personal/myacademicdetail?record_id=15 

Mais je veux URL courte sans params dans la barre d'adresse après ma forme est affichée comme ceci:

http://vcred.dev/#personal/myacademicdetail 

Comment est-il possible en utilisant javascript?

Répondre

1

Puisque vous utilisez un hachage dans l'URL, vous pourriez effectuer les opérations suivantes en JavaScript:

location.href = location.protocol + "//" + 
       location.host + 
       location.pathname + 
       location.hash.split('?')[0]; 

Cela ne causera pas une actualisation de la page, comme décrit dans ce débordement de pile après: How do I, with javascript, change the URL in the browser without loading the new page?

+0

Oui, cela m'a aidé, mais je dois modifier votre déclaration. location.href = location.protocol + "//" + location.host + '/ # personal/myacademicdetail'; – NAVEED

+0

En fait, je viens de remarquer que vous avez un hash (#) dans votre URL. Vous pouvez utiliser ma réponse modifiée pour la faire fonctionner sans coder en dur la partie après le hachage. –

+1

oui. ça fonctionne parfaitement maintenant. merci – NAVEED

0

Je ferais comme ça, en utilisant PHP:

$referer_host = $_SERVER[ "HTTP_HOST" ]; 
$referer_uri = explode("?", $_SERVER[ "REQUEST_URI" ]); 
$referer = $referer_host . $referer_uri[ 0 ]; 

Je suppose que vous pouvez voir aussi la solution PHP comme vous l'avez mentionné zend-framework comme l'un de vos mots clés.

Je voudrais simplement exploser des URL comme ça, puis utiliser les en-têtes pour la redirection.

+0

oui c'est un moyen mais je veux le faire sans recharger la page. – NAVEED

1

en ce qui concerne Zend Framework va, après avoir enregistré l'utilisation d'enregistrement:

$this->_redirect('#personal/myacademicdetail'); 

Cela indiquera le navigateur de l'utilisateur pour accéder à l'URL.

Questions connexes