MikkelRev Skrevet 29. desember 2010 Skrevet 29. desember 2010 (endret) Prøver å lære meg litt ajax, men står fast når jeg skal returnere og fange opp et json objekt. Dette er javascriptet: <script> function ajaxFunction(){ var ajaxRequest = getXMLHTTPRequest(); ajaxRequest.onreadystatechange = function() { if(ajaxRequest.readyState == 4) { eval("jsondata = "+ajaxRequest.responseText+";"); var ajaxDisplay=document.getElementById('ajaxDiv'); ajaxDisplay.innerHTML = ajaxRequest.responseText; } } var page_id = document.jumptomove.page_id.value; var section_id = document.jumptomove.page_id.value; var move = document.jumptomove.move.value; var queryString = '?page_id=' + page_id + '§ion_id=' + section_id + '&move=' + move; ajaxRequest.open("GET", "ajaxtestb.php" + queryString, true); ajaxRequest.send(null); } </script> Mens ajaxtestb.php returnerer (echo'er) denne arrayen: {"name":"Moa Junbi Sogi A","info":"","stance":"Closed Stance","height":null,"line":null,"facing":null,"motion":null,"stance_id":"491","height_id":"17","line_id":"22","facing_id":"23","motion_id":"40"} Den array'en får jeg også opp om jeg går til følgende url: http://localhost/path/ajaxtestb.php?page_id=143§ion_id=476&move=0.a Problemet er at Firebug sier syntax error for denne linjen: eval("jsondata = "+ajaxRequest.responseText+";"); Fjerner jeg den, så ser jeg array'en fra ajaxtestb.php i <div>'en. Poenget er vel at jeg skal kunne skrive alert(jsondata.name) og få opp "Moa Junbi Sogi A". Noen idéer ? Endret 29. desember 2010 av MikkelRev
MikkelRev Skrevet 3. januar 2011 Forfatter Skrevet 3. januar 2011 Har et nytt ajax/js spørsmål. Har en <select>-boks og noen <button> som alle kaller på den samme ajaxfunksjonen. Forskjellen er at de oppdaterer på forskjellige måter, men de er i prinsippet det samme. <select onchange="ajaxfunc(arg1, arg2, <?php echo arg3?>)">.... Problemet med denne linjen er at arg3 kun oppdateres ved page-refresh. Løsningen min er å ha en <div id="select></div> også i ajaxfunc() skrive ut select'en omtrent slik: document.getElementById.innerHTML = "<select... onchange='ajax(" + var1 + ',' + var2 + ',' + var3 + ')"; Den ferdig genererte koden vil da ha <div><select...></div><option>...</option></select> Er dette måten å gjøre det på eller er det bedre måter?
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå