2012-07-05 3 views
0

Je dois remplacer st = 6 à st = 7 en utilisant jquery ou javascript et mettre à jour la barre d'adresse. J'ai essayé d'utiliser le connecteur d'adresse jquery, mais je ne peux relacer que la partie après le #Remplacez le paramètre de chaîne de requête à l'aide de Jquery et placez-le dans la barre d'adresse sans actualiser.

Pourriez-vous me suggérer comment mettre à jour la chaîne de requête avant le #. La chaîne de requête est mentionnée ci-dessous.

http://test.com/search/searchresults?st=6 & terme = poulet # /? = Terme poulet & pi = 1 & ps = 10

Je ne veux pas rafraîchir la page en changeant l'URL mais besoin de changer l'URL dans la barre d'adresse.

C'est un peu urgent, pourriez-vous me suggérer la solution pour cela. Merci.

+0

Votre question principale n'est pas de savoir comment remplacer st = 6 par st = 7, mais comment le remplacer dans la barre d'adresse? Si oui, alors vous devriez le rendre plus clair. – Tomer

Répondre

0

Essayez cette

var str = 'http://test.com/search/searchresults?st=6&term=chicken#/?term=chicken&pi=1&ps=10'; 
str.replace(/(st\=)\d+&/, "$1" + '7'); // replace '7' with any number you like 

Ce n'est pas jQuery, il est javascript (jQuery la substance est faite de :) via un Regular Expression, et il devrait faire le travail dans votre cas.

+0

comment remplacer l'URL dans la barre d'adresse – Selwyn

+0

window.location.replace (str.replace (/ (st \ =) \ d + & /, "$ 1" + '7')); –

0

Vous pouvez utiliser une expression régulière, comme ceci:

var addr = 'http://test.com/search/searchresults?st=6&term=chicken#/?term=chicken&pi=1&ps=10'; 
var newVal = 7; 

addr.replace(/([?&])st=\d+/, '$1st=' + newVal); 
+0

Comment puis-je remplacer dans la barre d'adresse – Selwyn

1

Si vous voulez dire que vous souhaitez mettre à jour l'URL dans la barre d'adresse vous alors c'est une nouvelle fonctionnalité de HTML5 et non largement pris en charge.

Par exemple:

window.history.pushState(“object or string”, “Title”, “/new-url”); 

En regardant caniuse.com il semble que ce soit à venir dans les prochaines versions majeures de tous les navigateurs:

Vous pouvez toujours changer l'url mais cela provoquera le rechargement de la page en utilisant

Vous devriez pouvoir utiliser l'autre regex dans cette page pour créer l'URL vers laquelle vous voulez rediriger.

0

Je pense que ce que vous demandez n'est pas réalisable, pensez à une page de formulaire de connexion bancaire où vous remplacez l'URL actuelle par l'URL réelle de la banque, cela causerait des problèmes de sécurité majeurs.

Questions connexes