Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Prosty gotowiec a nie działa...
Forum PHP.pl > Forum > XML, AJAX > AJAX
lukasamd
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?
erix
A co w konsoli błędów?
singles
Może spróbuj zamiast
Kod
type="text/javasrcipt"

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

winksmiley.jpg
lukasamd
O cholera! Sprawdzałem kod kilka razy, ale tej literówki nie zauważyłem biggrin.gif
Już śmiga jak powinno, dzięki 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...
erix
Tak, jak masz przykładowo w dokumentacji. tongue.gif

Tylko że masz jeszcze metodę load, która Ci się bardziej przyda.
lukasamd
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');
erix
No przecież musisz użyć kasiory. tongue.gif

Kod
$('selektor').load('dane.php', {parametr: wartost});
lukasamd
To już pominąłem, bo przecież jest oczywiste 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 biggrin.gif nie mam bladego pojęcia jak...
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.