Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [JS] PHP + JS (location)
Forum PHP.pl > Forum > Po stronie przeglądarki > JavaScript
Setesh
Witam.

Mam taki problem, że potrzebuję wywołać funkcję na swoim serwerze z parametrami pobranymi z JS location - problem w tym że nie za bardzo mi idzie z JS...

Może po krótce moje efekty :

  1. <script type="text/javascript" language="javascript" src="http://moj_server/index.php?info=jakies_id"></script>


To jest obecnie kod który wywołuje mi moją stronę na serwerze z parametrem (jakies_id) wskazującym że właśnie z tej strony ktoś wszedł. jednak to tylko mała część tego co chciałbym zrobić.

Chciałbym aby ten parametr src wskazywał na adres typu :

  1. src = "http://moj_server/index.php?info=jakies_id&host="
  2. + window.location.host
  3. + "&port="
  4. + window.location.port
  5. + "&pathname="
  6. + window.location.pathname
  7. + "&hash="
  8. + window.location.hash
  9. + "&search="
  10. + window.location.search;


a nastepnie te parametry odbieram w php i przerabiam.

Problem w tym że coś nie chce mi działać moja wersja :

  1. <script type="text/javascript" language="javascript" src="GetMyPathName();">
  2.  
  3. function GetMyPathName()
  4. {
  5. var
  6. majpacznejm = "http://serwer/index.php?info=chomikuj.pl";
  7.  
  8. majpacznejm += "&phost=" + window.location.host;
  9.  
  10. if(window.location.port != 80)
  11. majpacznejm += "&port=" + window.location.port;
  12.  
  13. majpacznejm += "&ppathname=" + window.location.pathname;
  14. majpacznejm += "&phash=" + window.location.hash;
  15. majpacznejm += "&p_search=" + window.location.search;
  16.  
  17. return majpacznejm;
  18. }
  19.  


Może mi ktoś powiedzieć co źle robię i jak to poprawić aby działało?
kamil4u
Moim zdaniem lepiej będzie jak zrobisz to( przesłanie danych do PHP ) poprzez AJAX.

Cytat
Może mi ktoś powiedzieć co źle robię i jak to poprawić aby działało?

Żle robisz to, że w zwykłym atrybucie HTML chcesz wywołać funkcję JS: src="GetMyPathName();" tak nie wolno

Mógłbyś za pomocą DOM dodać nowy element <script> wraz z nową ścieżką.
Setesh
Niestety mam ograniczone możliwości nawigowania bo to ma być jako opis do jednego z forów a w opisie nie wszystko się da wstawić.

Owszem wywołanie funkcji w src nie jest najlepszym sposobem. Myślę nad załadowaniem pliku js - może w ten sposób ominę blokady smile.gif
Kofel
Dla mnie to będzie tak:
  1. <script type="text/javascript">
  2. window.onload = function() {
  3. majpacznejm = "http://server.pl/?a=b";
  4.  
  5. majpacznejm += "&phost=" + window.location.host;
  6.  
  7. if(window.location.port != 80)
  8. majpacznejm += "&port=" + window.location.port;
  9.  
  10. majpacznejm += "&ppathname=" + window.location.pathname;
  11. majpacznejm += "&phash=" + window.location.hash;
  12. majpacznejm += "&p_search=" + window.location.search;
  13.  
  14. var fileref=document.createElement('script');
  15. fileref.setAttribute("type","text/javascript");
  16. fileref.setAttribute("src", majpacznejm);
  17. document.getElementsByTagName("head")[0].appendChild(fileref);
  18. }
Setesh
Kofel wielkie DZIĘKI smile.gif Działa super smile.gif
kamil4u
Rozwiązanie ~Kofel to nic innego jak moje:
Cytat
Mógłbyś za pomocą DOM dodać nowy element <script> wraz z nową ścieżką.


Poczytałbyś to byś mógł spokojnie samemu to robić smile.gif

Pozdrawiam
Setesh
Mam zamiar się poduczyć bo nie sadziłem że da się tak zrobić smile.gif

No ale jak to mówią... niewiedza nie jest usprawiedliwieniem więc do nauki smile.gif
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.