Zend data met Ajax

Door Cees S, 15 jaar geleden, 15.505x bekeken

Deze korte tutorial is voor mensen die AJAX ook voor formulieren willen gebruiken.
De functionaliteit is op te splitsen in:
Javascript, Formulier en een post_ajax.php

In het Javascript deel zijn drie gegevens belangrijk.
1. Het adres van post_ajax.php
2. Response, de tekst die je als resultaat wil teruggeven
3. myMessage, het element wat het resultaat zal ontvangen

Er kan nog veel mee toegelicht worden, maar ik denk dat de files voor zich spreken.

Suc6

Cees

Gesponsorde koppelingen

Inhoudsopgave

  1. Script met Formulier
  2. post_ajax.php

 

Er zijn 14 reacties op 'Zend data met ajax'

PHP hulp
PHP hulp
0 seconden vanaf nu
 

Gesponsorde koppelingen
B a s
B a s
15 jaar geleden
 
Waarom maak je geen gebruik van een framework zoals bijv. Jquery?
Cees S
Cees S
15 jaar geleden
 
1 +1 -0 -1
Bas
Nu met Firecfox een reactie.
Niet iedereen heeft een framework nodig, voor klanten Prado, Cake, Symphonie etc. gebruikt, daar word dan door elkaar 20% van gebruikt.
Daarom nu een eenvoudig voorbeeld.
Roel -
Roel -
15 jaar geleden
 
Ik was zelf eerst ook niet zo van jQuery, maar sinds ik het gebruik vind ik het ook een goed systeem. Je moet niet zelf gaan lopen rotzooien met AJAX met allerlei rare trucjes voor bijvoorbeeld Internet Explorer terwijl een ander dat al gedaan heeft.

En het is natuurlijk een stuk gemakkelijker :)
Cees S
Cees S
15 jaar geleden
 
1 +1 -0 -1
De persoon die gaat rotzooien heeft hier en met programmeren niets te zoeken, het gebruik van een andermans library heeft altijd een gevaar in zich. En dacht je nu echt dat ook Jquery niet bol staat van de truukjes om dat vod van IE (6 & 7, vanaf 8 is IE OK) ook te kunnen bedienen.
Als je van Jquery minder dan de helft benut dan vind ik het een overbodig systeem.
Kees Schepers
kees Schepers
15 jaar geleden
 
0 +1 -0 -1
Dat ben ik het niet met je eens, het is dus wel rotzooien om o.a. Ajax requests met try-catch statements om het cross-browser te maken terwijl frameworks dit al gedaan hebben voor je, en ook nog eens uitgebreid hebben getest (met evt. unit-tests).

Kortom, je snijdt jezelf enorm in de vingers door het dus allemaal zelf te bouwen en daar veel tijd aan kwijt te zijn. Weliswaar gebruik je dan wel een 'heel' framework voor een paar handelingen, maar mijn ervaring is dat je al je javascript code op den duur toch wel gaat uitbreiden, en ja dan baal je als je alles zelf geschreven hebt en dit in 10% van de hoeveelheid code in bijvoorbeeld jQuery had gedaan. Als je jQuery dan ook nog van een CDN haalt (bijv. Google's CDN) dan is de HTTP overhead ook minimaal.

Mocht je dan toch echt niet van grote frameworks houden pak je een kleiner frameworks als bijvoorbeeld Prototype.

Verder vindt ik de kwaliteit van deze tutorial echt onder de maat, slechts twee pagina's waarbij niet eens echt ingegaan wordt op hoe bijvoorbeeld zo'n xmlHttpRequest e.d. werken en waarom je moet try-catchen ivm browser compatibiliteit als je dan toch perse een tutorial maken voor mensen die niet een heel framework willen insluiten ;-)
Cees S
Cees S
15 jaar geleden
 
0 +1 -0 -1
Kees

Mooi dat we het niet altijd met elkaar eens zijn en inhoudelijk durven te reageren.
Wel vind ik het raar dat je creatief ontwikkelen rotzooien noemt, hoe denk je dat al die frameworks tot stand komen? Waarbij ik wil opmerken dat ik Jquery een aardige library vind maar zeker de status van framework niet verdient.
Je hebt gelijk als je zegt dat je gemakshalve beter een framework kan gebruiken. De deelnemers aan dit forum bouwen vaak zelf hun CMS, dan kunnen zij ook veel beter Joomla, Wordpress, Xoops, etc. gebruiken.
Het is zoals met Word de overkill van Microsoft, je kan Word voor platte tekst gebruiken een Editor als Notepad++ ligt m.i. dan meer voor de hand.
Wat betreft de tutorial wil ik er op wijzen dat er twee soorten zijn, theoretische en praktische tutorials.
Mijn ervaring is dat theoretisch geschoolde veel problemen hebben dit naar de praktijk te vertalen. Mijn verwachting van dit forum was en is, dat de theoretische kennis wel aanwezig is.
Daarom mijn praktische insteek, als je de sources op je local systeem uitvoert werkt het gewoon, hoe leerzaam kan iets zijn?
Het try-catchen is niets meer dan behoorlijk programmeren en heeft NIETS te doen met browser compatibiliteit.
Mijn stelling blijft dat het bedrijfsmatig onverstandig is Libraries marginaal te gebruiken.
Kees Schepers
kees Schepers
15 jaar geleden
 
0 +1 -0 -1
Je argumentatie is bijzonder zwak wat best jammer is. Het try-catchen heeft in deze context namelijk alles te maken met browser-compatibaliteit, ik heb naar je script gekeken en jij doet het met if statements, maar veel anderen ook met try-catches. Uiteindelijk doet jQuery, Prototype of andere frameworks/libraries dit ook op de achtergrond. Je hebt nu veel code voor iets dood eenvoudigs, en als je bijvoorbeeld jQuery.get(url, callback) had gebruikt dan weet je dat jQuery zorgt voor compatibiliteit en kun jij je echt richten op wat je met AJAX wilt uitwisselen.

Ik denk dat je iets als dit pas creatief ontwikkelen kan noemen als het echt iets toevoegt of een unieke waarde biedt ten opzichte van alle andere (betere) alternatieven. Ik kan me eerlijk gezegd geen argument bedenken waarom je iets als dit perse zelf wilt bouwen, zeker anno 2012 niet.

En inderdaad, als je een CMS bouwt kun je in 80% van de gevallen beter een bestaand CMS Framework pakken en indien nodig deze op de juiste manier forken om naar wens aan te passen. De reden dat leden hier zelf een CMS of framework willen bouwen is vanwege de leercurve, en in dat opzicht kan ik me er helemaal in vinden. Anders is het verspillen van je tijd. Als jij bedrijfsmatige overwegingen maakt dan zou ik niet begrijpen dat je hier anders over denkt.

En het argument over je tutorial snap ik al helemaal niet. Een goede tutorial is met inderdaad praktische voorbeelden en een theoretische onderbouwing waar het in deze tutorial volledig aan ontbreekt. Ja, leuk ik kan het copy/pasten en dan werkt het inderdaad..en dan? Waarom werkt het? Wat gebeurt er? Wat doet het?

En misschien was framework niet de goede naam voor jQuery en past library beter maar dat heeft niets te maken met de kwaliteit ervan :)
Cees S
Cees S
15 jaar geleden
 
0 +1 -0 -1
Het try-catchen heeft in deze context inderdaad tot gevolg dat browser-compatibaliteit word afgevangen, in het algemeen doe je dat altijd om voortgang van je applicatie te garanderen.
Je zou dit forum misschien eens vaker moeten volgen, hoeveel vragen er niet zijn over het toepassing van AJAX.
Bedrijfsmatig beoordeel je altijd de kwaliteit van de te gebruiken oplossing, vaak (niet altijd) blijkt dat zelf ontwikkelen dan een betrouwbaarder oplossing bied. Kijk naar het grote aantal Internet applicaties die niet opensource ontwikkeld zijn.
Wat deze uitleg voor ogen heeft is eenvoudig te laten zien hoe een AJAX communicatie kan verlopen, over de theoretische kant is al heel veel gepubliseerd, in de reacties vind je dan meestal een of meerdere opmerkingen van is er geen demo.
Bij deze.
Mensen die de frameworks Zend, Prado, Cake, Symfony gebruiken hebben aan deze uitleg inderdaad niets, alle anderen kunnen kennis nemen van een simpele AJAX oplossing. Dus zelf bouwen nee, maar kennis nemen hoe iets toegepast kan zijn.... lijkt mij niet onverstandig.
Kees Schepers
kees Schepers
15 jaar geleden
 
0 +1 -0 -1
Met dat laatste sla je de spijker op zijn kop! Ik zal zeker niet beweren dat iemand geen kennis hoeft te hebben over hoe een Ajax request onder water werkt, voor de mensen die met frameworks werken. Heel belangrijk zelfs, maar nogmaals aan deze tutorial heb je dan weinig, omdat nergens iets uitgelegd of onderbouwd wordt, en helaas is het niet zelf verklarend genoeg om het te begrijpen voor een leek.

Als je vindt dat je echt iets toevoegd aan het praktische deel van Ajax requests met deze tutorial verwijs dan op z'n minst naar een goed artikel waarbij het theoretisch onderbouwt wordt. Want hier geen mensen echt niks van snappen, geloof me maar. Als ze dan kunnen lezen wat bijvoorbeeld readyState is, of het onReadyState event is, welke argumenten je hebt, wat je ermee kan etc.

Als je toch in ziet dat deze tutorial beter kan dan zou ik je script in stukjes code opdelen en per stukje uitleggen wat er gebeurt. Anders hoort dit thuis in de script library vindt ik zelf, en zou het wat universeler moeten worden om ook toe te passen in diverse applicaties.

En ik volg het forum redelijk goed hoor ;-) Er zijn zeker vragen of Ajax, maar dan heeft iemand eerder behoefte om te begrijpen hoe het werkt en hoe je dit met hapbare stukken in de praktijk toepast.

Wat betreft het open-soruce verhaal, durf ik met alle zekerheid te stellen dat jij en ik als individu nooit betere software (componenten) kunnen schrijven als ieder ander groot open-source project. Puur omdat je niet over alle kennis en capaciteit beschikt. De kwaliteit van gebundelde open-source componenten is in de praktijk (misschien in de theorie wel dan) altijd beter zijn als iets wat compleet zelf geschreven is, en dan praten we in alle opzichten (tests, onderhoudbaarheid, kosten, flexibiliteit, etc).

Ik denk dat jij versteld staat van hoeveel projecten gebruik maken van open-source projecten. Ik kan zo 10 Nederlandse miljoenen bedrijven noemen die met dingen werken als Symfony, Doctrine, Propel, Zend Framework, JQuery, Prototype, Solr en noem maar op. En dat is niet voor niks. PHP zelf is overigens ook open-source.

Mocht je in zien dat deze tutorial onder maat is, ben ik zeker bereid je te helpen om hem beter te maken :)
Cees S
Cees S
15 jaar geleden
 
0 +1 -0 -1
Kees in veel zaken zijn wij het wel eens, alleen ben ik zelf al vele jaren geen blind volger van Frameworks. Misschien heb ik het niveau van de deelnemers over en/of onderschat.
Hahaha je laatste opmerking vind ik zeker het overwegen waard, ware het niet dat het AJAX verhaal echt wel overal te vinden is.
Dus later misschien een keer, ik zal zeker aan je denken.

Groet Cees S
Kees Schepers
kees Schepers
15 jaar geleden
 
0 +1 -0 -1
Is goed andere Cees! En no offence hoor, ondanks ik zo kritisch ben :) En PM-box staat altijd open ;)
Pim -
Pim -
15 jaar geleden
 
Als je echt het wiel opnieuw wil uitvinden, doe het dan iig goed en maak je code (een beetje) herbruikbaar.
Cees S
Cees S
15 jaar geleden
 
0 +1 -1 -1
Pim, hahaha was zeker een grapje.
PHP hulp
PHP hulp
0 seconden vanaf nu
 

Gesponsorde koppelingen
- Raoul -
- Raoul -
15 jaar geleden
 
1 +1 -0 -1
Is dit een tutorial? Dit is gewoon voorgekouwde code zonder enige uitleg erbij (of comments)?

Om te reageren heb je een account nodig en je moet ingelogd zijn.

Inhoudsopgave

  1. Script met Formulier
  2. post_ajax.php

Labels

PHP tutorial opties

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.