[AJAX] PHP een function laten starten

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Hallo,

Ik ben bezig met een beetje AJAX te leren. Ik heb al aardig door hoe het werkt, en een form via PHP verwerken lukt al. Ik probeer eigenlijk een simpel blackjack spelletje te maken, gekoppeld aan een MySQL database, zodat ik een beetje doorkrijg hoe je het beste problemen kan oplossen met AJAX. Ik zit nu alleen met een probleem waar ik niet uit kom. Nadat de inzet is vastgesteld, en is opgeslagen in de database achter de juiste persoon, moeten de kaarten verdeelt worden. De inzet verwerken doe ik als volgt:

JavaScript:
1
2
3
4
function send(){
        var params = Form.serialize($('commentsForm'));
        new Ajax.Updater('updateDiv', 'blackjackscript.php', {asynchronous:true, parameters:params});
    }


In blackjackscript.php komt de waarde nu binnen als een gewone post, waarna gekeken wordt of de gebruiker wel zoveel geld bezit, en of er geen rare tekens ingevoerd zijn etc. Als er iets fout is, geeft het PHP bestand een foutmelding terug naar de <div id="updateDiv">. zodat deze op het scherm komt. Als er niets fout is stuurt het PHP-bestand de geposte waarde terug als bevestiging voor de gebruiker zelf.

Mijn probleem is nu, dat als er niets fout is gegaan, de kaarten verdeeld moeten worden. Dat kan mij wel lukken, als ik iets heb om een functie mee aan te roepen, die vervolgens het PHP bestand in werking zet, en de output weer in een DIV zet. Maar hoe kan ik vanuit PHP, een bepaalde output, op een andere plaats op het scherm krijgen? Het PHP gedeelte lukt mij wel, daar komt een IF-statement bij, maar hoe laat ik vanaf de PHP, de javascript weten dat de functie verdeelDeKaarten() afgespeeld moet worden?? Ik hoop dat iemand mij kan helpen, want ik kom er echt niet uit 8)7

Acties:
  • 0 Henk 'm!

  • ripexx
  • Registratie: Juli 2002
  • Laatst online: 25-07 22:24

ripexx

bibs

Ik denk dat het eenvoudigste is om objecten te gebruiken mbv bijvoorbeeld JSON*. In dat geval kan je op basis van de terug gegeven waarden direct tegen een object aan babbelen. Dus in je client side JS vang je het object op en je bepaald op basis van het obeject en de eigenschappen de juiste afhandeling. Voor dit soort implementaties is het wel handig dat je ook clientside een goede afhandeling realiseerd. Dus niet direct denken in div x of y maar in een logische afhandeling. Later kan je dat altijd outputten naar een div oid.

* Waarom JSON, omdat XML overhead is. En je eenvoudiger direct objecten kan gebruiken in je clientside code.

buit is binnen sukkel


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Ok, bedankt voor je snelle reactie. Ik heb even wat opgezocht over dat JSON. Maar jij bedoel dus dat ik de 'response' die van de server terugkomt, opvang in mijn .JS file, daar controleer of het goed of fout is, en dan het bericht doorsturen, en direct een nieuwe opdracht naar het PHP bestand stuur?

Het tussenliggende .JS bestand, is prototype-1.3.1 (http://www.theschoolcriminals.com/prototype-1.3.1.js).js, zoals ik begreep van de site waar ik het vanaf haalde, is dat een veelgebruikt standaard script voor AJAX-doeleinden. Is dit script te gebruiken met JSON?? :?

Acties:
  • 0 Henk 'm!

  • Cartman!
  • Registratie: April 2000
  • Niet online
Je kunt overigens ook gebruik maken van Moo Tools http://www.mootools.net/. werkt echt belachelijk goed en snel :)

Zit ook een AJAX extensie in die ondersteuning bied voor XML & JSON. Zelf gebruik ik tot nu toe altijd XML, nog niet goed gekeken naar JSON namelijk.