Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Prosty gotowiec a nie działa...
-lukasamd-
post
Post #1





Goście







Witam,
dopiero zaznajamiam się z XML HttpRequest. Ostatnio w książce znalazłem przykład złożony z trzech plików:

XmlHttpRequest.js

Kod
var xHRObject = false;
if (window.XMLHttpRequest)
{
  xHRObject = new XMLHttpRequest();
}
else if (window.ActiveXObject)
{
  xHRObject = new ActiveXObject("Microsoft.XMLHTTP");
}

function sendRequest(data)
{
  xHRObject.open("GET", "display.php?value=" + data, true);
  xHRObject.onreadystatechange = getData;
  xHRObject.send(null);
}

function getData()
{
  if (xHRObject.readyState == 4 && xHRObject.status == 200)
  {
    var serverText = xHRObject.responseText;
    if(serverText.indexOf('|' != -1))
    {
      element = serverText.split('|');
      document.getElementById(element[0]).innerHTML = element[1];
    }
  }
}



display.htm
  1. <head>
  2. <script type="text/javasrcipt" src="http://localhost/ajax/XmlHttpRequest.js"></script>
  3. <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  4. </head>
  5. <body>
  6. <a href="#" onclick = "sendRequest('Contacts');return false;">Kontakty</a>
  7. <a href="#" onclick = "sendRequest('Calendar');return false;">Kalendarz</a>
  8. <a href="#" onclick = "sendRequest('Adverts');return false;">Reklamy</a>
  9. <br />
  10. <div id="box1">
  11. </div>
  12. <div id="box2">
  13. </div>
  14. <div id="box3">
  15. </div>
  16. </body>
  17. </html>


display.php

  1. <?php
  2. switch($_REQUEST['value']) {
  3.  case 'Contacts':
  4.    echo "box1|<br><b>Kontakty</b><br>Test1<br>Test2<br>";
  5.    break;
  6.  case 'Calendar':
  7.    echo "box2|<br><b>Kalendarz</b><br>Test1<br>Test2<br>";
  8.    break;
  9.  case 'Adverts':
  10.    echo "box3|<br><b>Reklamy</b><br>Test1<br>Test2<br>";
  11.    break;
  12. }
  13. ?>


Niestety z nieznanych mi przyczyn, całość nie działa - plik php działa ok (sprawdzałem ręcznie przez podanie w adresie odpowiedniej wartości), lecz po wejściu na plik htm i kliknięciu na link, nic się nie dzieje (a powinno pokazywać w zależności od wybranego linka).
Przepisane na żywca, czemu więc nie działa?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 7)
erix
post
Post #2





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




A co w konsoli błędów?
Go to the top of the page
+Quote Post
singles
post
Post #3





Grupa: Zarejestrowani
Postów: 121
Pomógł: 26
Dołączył: 2.07.2007

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


Może spróbuj zamiast
Kod
type="text/javasrcipt"

coś takiego:
Kod
type="text/javascript"

(IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)
Go to the top of the page
+Quote Post
-lukasamd-
post
Post #4





Goście







O cholera! Sprawdzałem kod kilka razy, ale tej literówki nie zauważyłem (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif)
Już śmiga jak powinno, dzięki (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)

Wrócę jeszcze do tematu.
Jak zrobić coś takiego w jQuery?

Z dokumentacji wynika, że muszę użyć jQuery.get(), tyle tylko, że nie bardzo wiem jak...
Go to the top of the page
+Quote Post
erix
post
Post #5





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




Tak, jak masz przykładowo w dokumentacji. (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif)

Tylko że masz jeszcze metodę load, która Ci się bardziej przyda.
Go to the top of the page
+Quote Post
-lukasamd-
post
Post #6





Goście







No to jaka jest różnica między nimi, wg. dokumentacji przekazuję praktycznie identyczne argumenty...
No i jak mam wrzucić dane, bo tego znaleźć nie mogę, bo jakoś nie wyobrażam sobie zapisu typu:

Kod
load('test.php', '?dane=1&inne=2');


Ten post edytował lukasamd 28.06.2009, 11:25:08
Go to the top of the page
+Quote Post
erix
post
Post #7





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




No przecież musisz użyć kasiory. (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif)

Kod
$('selektor').load('dane.php', {parametr: wartost});
Go to the top of the page
+Quote Post
-lukasamd-
post
Post #8





Goście







To już pominąłem, bo przecież jest oczywiste (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)
Ok dałem dla testu:

Kod
$(document).ready(
  function()
  {
    $("#akapit").click(
      function()
      {
      $('akapit').load('dane.php', {dane: 1});
      }
    );

  }
);
</script>


i w efekcie powinno zostać wykonane zapytanie oraz wyświetlony napis (poprzez echo).
Zapytanie jest robione, napisu nie ma.

Z pewnością muszę jakoś odwołać się do wartości zwracanych po połączeniu.
Niestety (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif) nie mam bladego pojęcia jak...
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 - 23:31