Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][jQuery] ładowanie danych do pliku
Forum PHP.pl > Forum > Przedszkole
oomaster
Witam,

Plik index.html
  1. <script type="text/javascript" src="js/jquery-1.6.2.min.js"></script>
  2. <title>Xyz</title>
  3. $(document).ready(function(){
  4.  
  5.  
  6. function getDiv(co) {
  7. $.ajax({
  8. type: "GET",
  9. url: "a.php",
  10. data: {id: co},
  11. pobierz: function (XMLHttpRequest) {
  12. $("#content").html("Trwa pobieranie danych.");
  13. },
  14. success: function(msg) {
  15. $("#content").html(msg);
  16. },
  17. error: function (XMLHttpRequest, textStatus, errorThrown) {
  18. $("#content").html('Przepraszamy, dane nie mog? być pobrane.');
  19. }
  20. });
  21.  
  22.  
  23. });
  24. }
  25. });
  26. </head>
  27. <div id="content"></div><br/>
  28. <a href="java script:getDiv('1')">Klik</a><br/>
  29. <a href="java script:getDiv('3')">Klik II</a><br/>
  30. <a href="java script:getDiv('4')">Klik III</a>
  31. </body>
  32. </html>


Plik a.php
  1. <?php
  2.  
  3. $id= $_GET["id"];
  4. echo "<h1>".$id."</h1>";
  5.  
  6. ?>


Jaki widać jest kod który odwołuje się do pliku a.php i wyświetla zawartość lecz cały kod nie działa, co jest nie tak. Brak jakiejkolwiek reakcji.

Bardzo proszę o pomoc
konrados
Poczytaj o funkcji jquery ajax: http://api.jquery.com/jQuery.ajax/ bo ten Twój kod jakiś dziwny jest.
I włącz firebuga (w ff) lub narzędzia developerskie (w chrome) i zobacz co wypluwa konsola.
Gość
Dlaczego dziwny ? Nie wiem zbytnio jaki kod uzyc w a href aby link odwolywal sie do funkcji
croc
Problem jest dość złożony, zacznij sam badać sprawę, bo samo śledztwo wymaga zbyt dużo czasu, a nikt tu nie jest instytucją charytatywną smile.gif

Zgadzam się, że kod dość dziwny. A to dlatego, że jest poplątany. Lepiej byłoby, gdyby PHP generował tylko dane, a nie cały "widok". Bardziej intuicyjnie będzie, jeśli <h1> zostanie przypisany przez kod JS. Podobnie wątpliwie użyteczne jest to rozwiązanie z $_GET, ale rozumiem, że się uczysz.
oomaster
Ucze sie, ucze. Chce zastosowac taka metode poniewaz mam duzo danych i chce by generowaly sie wtedy kiedy uzytkownik bedzie chcial a nie wszystko na raz...
croc
To bardzo fajnie. Jeśli chcesz nabierać dobrych nawyków podczas nauki (bezcenne!), to oddzielaj dane od ich reprezentacji. Żadnych getDiv dla Ajaxa. Ajaxem pobieraj tylko dane.
k_@_m_i_l
Kod
<a href="java script:getDiv('1')">Klik</a><br/>


W href ma być "javascript" a nie "java script" tak jak Ty to napisałeś. Poza tym, firebug, firebug i jeszcze firebug. Najlepiej wrzuć gdzieś ten skrypt, żebyśmy mogli zobaczyć na żywo.
croc
Cytat(k_@_m_i_l @ 15.10.2011, 14:06:41 ) *
W href ma być "javascript" a nie "java script" tak jak Ty to napisałeś.

Ostatnio odkryłem, że takiego psikusa robi edytor tego forum biggrin.gif
oomaster
Ok, Zmieniłem troszkę strategie i próbuje z prostym rozwiązaniem:

  1. <title>test</title>
  2. <script type="text/javascript" src="js/jquery-1.6.2.min.js"></script>
  3. <script type="text/javascript">
  4. $(document).ready(function(){
  5.  
  6. function eq(id) {
  7. $('#textid').load('a.php?id='+id);
  8. }
  9.  
  10. });
  11. </head>
  12. <div id='textid'></div>
  13. <button onclick="eq('12');">RAZ</button>
  14. <button onclick="eq('45');">DWA</button>
  15. </body>
  16. </html>


Lecz Firebox zwraca błąd:
Cytat
eq is not defined Line 1
konrados
No na pewno musisz wyrzucić funkcję eq poza document.ready.
oomaster
Dzięki :-) pomogło :-)
konrados
Ależ proszę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.