Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: PHP + jQuery Ajax GET
Forum PHP.pl > Forum > PHP
damianooo
Witam,

Nie wiem czy dobrze przekazuję dane ajaxem metodą GET do skryptu PHP. Po kliknięciu w link "my_button" zwracany jest komunikat o błędzie. Czemu dane, które przekazuję nie są doklejane do adresu url ? Co robię źle ?

  1. <!DOCTYPE html>
  2. <head>
  3. <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
  4. <script src="js/myscript.js"></script>
  5. </head>
  6. <body>
  7. <div id="mycontent" >
  8. <a href="" id="mybutton">Calculate</a>
  9. <p id="result" >Result: </p>
  10. </div>
  11. </div>
  12. </body>
  13. </html>



plik myscript.js


  1. $(document).ready(function() {
  2. $("#mybutton").click(function() {
  3. $.ajax({
  4. url: "http://test.local/index.php",
  5. type: "GET",
  6. data: "first=3&second=4",
  7. success: function(data) {
  8. if (data) {
  9. $("#result").html('ole');
  10. }
  11. },
  12. error: function() {
  13. alert("something wrong");
  14. }
  15. });
  16. });
  17. });
SaMi
Uzywasz metody ajaxowej która komunikuje się z serwerem bez przeładowywania całego dokumentu, w sposób asynchroniczny (działa w tle). W twoim przypadku wszystko działa poprawnie. Proponuję użyć np. wtyczki do firefoxa - firebug, w konsoli zobaczysz wszelkie informacje o tym co i w jaki sposób zostało wysłane i ewentualnie odebrane. Jesli chcesz zmodifikować URL urzyj standardowego przekierowania.
damianooo
nie wiem już nic nie rozumiem ... niby proste a taki z tym kłopot .. w Firebugu dobrze dokleja mi dane , jednak jak klikam w link to wyświetla się alert "Something wrong" ... co tam mam źle ? jak powinno sie odbierać dane w PHP z ajaxa metody GET ? , myślełem że dobrze to robię ... standardowego przekierowania tzn. ?

próbowałem już nawet tak i dalej jest to samo:

  1. <!DOCTYPE html>
  2. <head>
  3. <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
  4.  
  5. <script language="javascript">
  6. $(document).ready(function() {
  7. $("#mylink").click(function() {
  8. $.ajax({
  9. type: "GET",
  10. url: "index.php",
  11. data: "first=3",
  12. success: function(data) {
  13. if (data) {
  14. $("#result").html('ole');
  15. }
  16. },
  17. error: function() {
  18. alert("something wrong");
  19. }
  20. });
  21. });
  22. });
  23. </script>
  24. </head>
  25. <body>
  26. <a href="" id="mylink">Show</a>
  27. <p id="result" >Result: <?php echo $_GET['first']; ?></p>
  28. </body>
  29. </html>



Mogę Cię prosić o odpalenie tego kawałka skryptu u siebie ?

Tam w Firebugu w konsoli tylko przez chwilę po kliknięciu pokazuje sie informacja że wysłanie jest metodą GET i że dana "first" została poprawnie doklejona do adresu URL . Dlaczego więc nie mogę jej odebrać w skrypcie PHP w ten sposób "$_GET['first'] oraz dlaczego nie wykonuje się ta część skryptu js po Success tylko error ? ... please pomóż
SaMi
plik index.html
  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
  5. $(document).ready(function() {
  6. $("#mybutton").click(function() {
  7. $.ajax({
  8. type: "GET",
  9. url: "index.php",
  10. data: "first=3&second=6",
  11. success: function(data) {
  12. if (data) {
  13. var returned = jQuery.parseJSON(data);
  14. alert('first='+ returned.first +', second='+ returned.second);
  15. }
  16. },error: function() {
  17. alert("something wrong");
  18. }
  19. });
  20. return false;
  21. });
  22. });
  23. </script>
  24. </head>
  25. <body>
  26. <div id="mycontent" >
  27. <a href="" id="mybutton">Calculate</a>
  28. <p id="result" >Result: </p>
  29. </div>
  30. </div>
  31. </body>
  32. </html>


plik index.php
  1. <?php
  2. $get = $_GET;
  3. echo json_encode($get);
  4. ?>


Powinno zadziałać, zwróć też uwagę na return false;
damianooo
dzięki Stary ... właśnie tego "return false" mi brakowało ... zapomniałem o tym ... ehh szkoda gadać, straciłem tyle czasu niepotrzebnie ...

pozdrawiam
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.