jQuery supprime une variable d'URL
Je suis occupé à faire une application web, qui doit traiter beaucoup de erorrs et des trucs donc j'ai fait un jquery ui boîte de dialogue. Qui affiche ces erreurs. Les erreurs sont récupérées par la base de données. par exemple:
lors de mon nom d'utilisateur/mot de passe est incorrect lorsque j'essaie de me connecter j'ai redirigé vers
http://domain.com/?do=login&e=login-incorrect
l'application puis sais qu'il est à la recherche pour la connexion d'erreur incorrect dans la base de données et les afficher à l'utilisateur. Maintenant, cela se passe très bien. Sauf que lorsque pour une raison quelconque, l'utilisateur de recharger cette page en particulier, il wel obtenir de nouveau le message d'erreur alors qu'il n'a pas besoin de l'avoir.
donc mon plan est de se lier à une sorte de fonction de la close
cas de la boîte de dialogue et rediriger l'utilisateur vers la même page bug sans le paramètre e dans l'URL. Comment pourrais-je atteindre cet objectif. J'ai essayé toutes sortes de choses. Mais ne pouvait pas le faire fonctionner.
Ce que j'ai essayé:
bassicly a essayé d'obtenir tous les paramètres possibles et de la couture ensemble, sauf pour le paramètre e. comme:
$ERROR = $_GET['e'];
$DO = $_GET['do'];
$P = $_GET['p'];
$C = $_GET['c'];
$T = $_GET['t'];
$ACTION = $_GET['action'];
//URL WITHOUT ERRORS
$needP = "";
$needACTION = "";
$needDO = "";
if($P != ""){
$needP = "p=".$P."&";
}
if($DO != ""){
$needDO = "do=".$DO."&";
}
if($ACTION != ""){
$needACTION = "action=".$ACTION."";
}
$NOERRORURL = $BASEURL."?".$needP.$needDO.$needACTION;
Mais il ne fonctionne pas et son affreux
source d'informationauteur sn0ep
Vous devez vous connecter pour publier un commentaire.
Cela permettra d'éliminer toutes les instances de l'e paramètre de la chaîne de requête et d'actualisation de la page.
Une façon de le faire:
Qui permettra de recharger la page que vous mentionnez, sans le " e " paramètre
Cependant, une meilleure approche est d'utiliser une table de hachage au lieu de cela, comme ceci:
http://domain.com/?do=login#login-incorrect
. Ensuite, vous pouvez vérifier le hash quand le chargement de la page, et ouvrez votre boîte de dialogue d'erreur si lelogin-incorrect
de hachage est trouvé:Et si ils fermer la boîte de dialogue, vous pouvez simplement effacer le hachage sans avoir à rafraîchir la page:
Si vous allez avoir beaucoup de ces derniers, je recommande Ben Alman du jQuery hashchange événement ou la plus complète BARBECUE plugin qui font de votre vie beaucoup plus facile lorsque vous travaillez avec des tables de hachage.
L'Objet d'Url a un searchParams attribut qui a la fonction supprimer. Cela permettra d'éliminer myParameter de la urlObject. Si vous souhaitez accéder à votre url de nouveau, juste:
Plus loin:
https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams/delete
https://developer.mozilla.org/de/docs/Web/API/URL/searchParams