J'actualise ma page avec jQuery:
location.reload();
Cela fonctionne très bien, mais je souhaite actualiser la même page en transmettant un paramètre à l'URL.
Comment puis-je faire cela en utilisant jQuery?
Ex:
Si mon URL est www.myweb.com
, je veux actualiser ceci en passant un paramètre comme celui-ci
www.myweb.com?single
Je vous remercie
Vous devriez pouvoir accomplir cela en utilisant location.href
if(window.location.hostname == "www.myweb.com"){
window.location.href = window.location.href + "?single";
}
Je voudrais utiliser REGEX avec .replace
comme ceci:
window.location.href = window.location.href.replace( /[\?#].*|$/, "?single" );
Vous pouvez utiliser Javascript URLSearchParams .
var url = new URL(window.location.href);
url.searchParams.set('single','');
window.location.href = url.href;
si window.location.hash
est vide, vous ne pouvez pas affecter à location.href une nouvelle valeur sans utiliser une fonction correcte (au moins testée en chrome).
essayez le window.location.replace
:
if (!window.location.hash)
{
window.location.replace(window.location.href + "?single")
}
Vous auriez simplement pu faire:
var varAppend = "?single";
window.location.href = window.location.href.replace(".com",".com" + varAppend);
Contrairement aux autres réponses fournies, il n’ya pas de vérification conditionnelle inutile. Si vous concevez votre projet correctement, vous laisserez l'interface prendre la décision et appeler cette déclaration chaque fois qu'un événement a été déclenché.
Puisqu'il n'y aura qu'un seul ".com" dans votre URL, il ne fera que remplacer .com
par .com?single
. Je viens d’ajouter varAppend
au cas où vous voudriez faciliter la modification future du code avec différents types de variables d’URL.
Une autre remarque: Le .replace
fonctionne en ajoutant à href puisque href renvoie une chaîne contenant les informations complètes sur l'adresse URL.
Cliquez sur ces liens pour voir ces solutions plus flexibles et robustes. Ils sont des réponses à une question similaire:
window.location.search = jQuery.query.set('single', true);
parse
et stringify
sur window.location.search
Celles-ci vous permettent de définir le paramètre par programmation et, contrairement aux autres hacks suggérés pour cette question, ne seront pas interrompues pour les URL contenant déjà un paramètre, ou si quelque chose d'autre ne correspond pas exactement à ce que vous pensiez.
La concision compte: je préfère window.location = "?single";
ou window.location += "?single";
var singleText = "single";
var s = window.location.search;
if (s.indexOf(singleText) == -1) {
window.location.href += (s.substring(0,1) == "?") ? "&" : "?" + singleText;
}
J'utilise Jquery Load pour gérer cela, fonctionne très bien pour moi . Consultez mon code de mon projet. J'ai besoin d'actualiser avec des arguments pour mettre une variable Javascript dans php
if (isset($_GET['language'])){
$language = $_GET['language'];
}else{
echo '<script>';
echo ' var userLang = navigator.language || navigator.userLanguage;';
echo ' if(userLang.search("zh") != -1) {';
echo ' var language = "chn";';
echo ' }else{';
echo ' var language = "eng";';
echo ' }';
echo '$("html").load("index.php","language=" + language);';
echo '</script>';
die;
}