login  Naam:   Wachtwoord: 
Registreer je!
 Forum

Ajax for dummies ;)

Offline Jootn - 16/01/2010 21:58
Avatar van JootnNieuw lid Goede middag samen,

zoals de titel zegt, ik wil me verdiepen in ajax. Lijkt me echt wel interessante materie.
Ben een zo'n dummies boek aan het lezen, had nog niet echt voorkennis van javascript, dus dat komt echt wel van pas.

Wat wil ik nu doen:
ik heb een database met een tabel waar allemaal serie titels instaan... ik wil dat deze via ajax verschijnen in een drop down menu.
Een gelijkaardige oefening staat in het boek, maar de mijne wil echt totaal niet werken.

Mijn head code:
  1. <script language="javascript">
  2. var XMLHttpRequestObject = false;
  3. if( window.XMLHttpRequest )
  4. {
  5.  
  6. XMLHttpRequestObject = new XMLHttpRequest();
  7.  
  8. }
  9. else if ( window.ActiveXObject )
  10. {
  11.  
  12. XMLHttpRequestObject = new ActiveXObject("Microsoft.XMLHTTP");
  13.  
  14. }
  15. var options;
  16. function get_data()
  17. {
  18.  
  19. if(XMLHttpRequestObject)
  20. {
  21.  
  22. XMLHttpRequestObject.open("GET", "modules/p99/options.php", true);
  23.  
  24. XMLHttpRequestObject.onreadystatechange = function()
  25. {
  26.  
  27. if( XMLHttpRequestObject.readyState == 4 && XMLHttpRequestObject.status == 200 )
  28. {
  29.  
  30. var xmlDocument = XMLHttpRequestObject.responseXML;
  31. options = xmlDocument.getElementsByTagName("option");
  32. listOptions();
  33.  
  34.  
  35. }
  36.  
  37. }
  38.  
  39. XMLHttpRequestObject.send(null);
  40.  
  41. }
  42.  
  43. }
  44. function listOptions()
  45. {
  46.  
  47. var loopIndex;
  48. var selectControl = document.getElementById('optionList');
  49. for( loopIndex=0; loopIndex < options.length; loopIndex++ )
  50. {
  51.  
  52. selectControl.options[loopindex] = new Option(options[loopIndex].firstChild.data);
  53.  
  54. }
  55.  
  56. }
  57. </script>

en dit staat in de body:
  1. <h1>Alle series weergeven dmv ajax</h1>
  2.  
  3. <select size="1" id="optionList" onchange="setOption()">
  4. <option>Klik eerst op de knop</option>
  5. <input type="button" value="haal de series van de server" onclick="get_data()">
  6. </form>
  7. <div id="targetDiv">
  8. </div>

en hier de php pagina die gefetched moet worden:
  1. <?php
  2. function connect_db() {
  3. $dbhost = "****";
  4. $dbuser = "****";
  5. $dbpass = "****";
  6. $dbname = "serie";
  7. mysql_connect($dbhost,$dbuser,$dbpass)or die(mysql_error());
  8. }
  9. connect_db();
  10. $sql = mysql_query("SELECT serie FROM serie ORDER BY serie ASC");
  11. $array_serie = mysql_fetch_array($sql);
  12.  
  13. header("Content-type: text/xml");
  14. echo '<?xml version="1.0"?>';
  15. echo '<options>';
  16. foreach( $array_serie as $value )
  17. {
  18.  
  19. echo '<option'>;
  20. echo '$value';
  21. echo '</option>';
  22.  
  23. }
  24. echo '</options>';
  25. ?>


de foutconsole van mijn browser zegt dat de functie get_data() niet gedefinieerd is.

Weet iemand een oplossing voor mijn probleem?

Groeten

8 antwoorden

Gesponsorde links
Offline vinTage - 16/01/2010 22:41
Avatar van vinTage Nieuw lid Heb je wel de link gemaakt naar je js file ?
Offline Jootn - 16/01/2010 23:02
Avatar van Jootn Nieuw lid ja tuurlijk ;)
Offline vinTage - 16/01/2010 23:37
Avatar van vinTage Nieuw lid Jouw js en je form gecopierd, maar werkt gewoon hier hoor...?
Offline Jootn - 17/01/2010 10:10
Avatar van Jootn Nieuw lid hoe kan dat? hier doet hij niets niet in opera en niet in firefox
Offline vinTage - 17/01/2010 10:59
Avatar van vinTage Nieuw lid Ik heb gewoon een alertje toegevoegd in function get_data()
Die alert werd gewoon getriggerd, dus die functie kan dus niet undefined zijn.
Het ajax gedeelte heb ik verder niet getest.
Offline Jootn - 17/01/2010 11:19
Avatar van Jootn Nieuw lid pfff ik snap het echt niet hé. Ik heb nu nog een nieuwe functie gemaakt met een andere oefening, en de error console vertelde mij terug dat de functie not defined was, en als ik zoals je zegt een allert zet bovenaan de functie, dan opeens doet de functie het toch... strange 
Offline Stijn - 17/01/2010 11:28
Avatar van Stijn PHP expert Gebruik firebug (firefox extensie) om te zien wat er gebeurt als je Ajax request uitgevoerd wordt.
Offline avdg - 17/01/2010 18:13 (laatste wijziging 17/01/2010 18:14)
Avatar van avdg PHP gevorderde Heb je je script wel op een server geplaatst? Ajax werkt niet op een gewone lokale computer (tenzij je localhost gebruikt )
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.225s