Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [js]pobieranie wartości z url po przepisaniu adresu mod_rewrite
Forum PHP.pl > Forum > Po stronie przeglądarki
adamantd
  1. function getGETParameter(key) {
  2. key = key.replace(/[[]/, "[").replace(/[]]/, "]");
  3. var regexS = "[?&]" + key + "=([^&#]*)";
  4. var regex = new RegExp(regexS);
  5. var results = regex.exec(window.location.search);
  6. if(results == null){
  7. return "";
  8. }
  9. else{
  10. return decodeURIComponent(results[1].replace(/\+/g, " "));
  11. }
  12. }


do tej pory radziłem sobie dzięki tej funkcji kiedy potrzebowałem pobrać wartość z paska adresu na poziomie javascript ale po przepisaniu adresów pojawił się oczywisty problem, ponieważ teraz adres wygląda zupełnie inaczej

wcześniej przykładowo:

localhost/mojastrona/index.php?action=pierwszy&page=5

a teraz:

localhost/mojastrona/Pierwszy/page,5

moje pytanie brzmi jak przerobić tą funkcję, żeby pobierała wartość -w tym przypadku 5 ?
męczę się z tym i nie mogę wymęczyć, zastanawiam się czy popełniam jakiś błąd w wyrażeniu regularnym czy po prostu nie da się tego zrobić?


teraz próbowałem kombinować na mniej więcej takie sposoby:

  1. function getMODParr(key) {
  2. var regexS = "\/" + key + "\,([\d]*)";
  3. var regex = new RegExp(regexS);
  4. var results = regex.exec(window.location.search);
  5. if(results == null){
  6. return "";
  7. }
  8. else{
  9. return decodeURIComponent(results[1].replace(/\+/g, " "));
  10. }
  11. }


alert(getMODParr('page'));

alert wyświetla się pusty
viking
Wrzuć sobie w firebugu console.log(window.location); bo raczej potrzebujesz pathname a nie search.
adamantd
Funkcja po przerobieniu:

  1.  
  2. function getMODrewPar(key) {
  3. var regexS = "\/" + key + "(\,|\/){1}([^&#/]*)";
  4. var regex = new RegExp(regexS);
  5. var results = regex.exec(window.location.pathname);
  6. if(results == null){
  7. return "";
  8. }
  9. else{
  10. return decodeURIComponent(results[2]);
  11. }
  12. }
  13.  
  14.  


przykładwy adres:
localhost/mojastrona/Pierwszy/page,5

wywołanie funkcji:
console.log(getMODrewPar('page'));

wszystko gra dzięki za podpowiedź
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.