Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> PHP + jQuery Ajax GET
damianooo
post
Post #1





Grupa: Zarejestrowani
Postów: 496
Pomógł: 2
Dołączył: 15.07.2011
Skąd: Katowice

Ostrzeżenie: (0%)
-----


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. });


Ten post edytował damianooo 22.07.2013, 13:15:50
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 4)
SaMi
post
Post #2





Grupa: Zarejestrowani
Postów: 173
Pomógł: 14
Dołączył: 27.03.2004
Skąd: Białystok

Ostrzeżenie: (0%)
-----


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.
Go to the top of the page
+Quote Post
damianooo
post
Post #3





Grupa: Zarejestrowani
Postów: 496
Pomógł: 2
Dołączył: 15.07.2011
Skąd: Katowice

Ostrzeżenie: (0%)
-----


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óż

Ten post edytował damianooo 22.07.2013, 14:14:58
Go to the top of the page
+Quote Post
SaMi
post
Post #4





Grupa: Zarejestrowani
Postów: 173
Pomógł: 14
Dołączył: 27.03.2004
Skąd: Białystok

Ostrzeżenie: (0%)
-----


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;
Go to the top of the page
+Quote Post
damianooo
post
Post #5





Grupa: Zarejestrowani
Postów: 496
Pomógł: 2
Dołączył: 15.07.2011
Skąd: Katowice

Ostrzeżenie: (0%)
-----


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
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 22.08.2025 - 18:19