Re: Rasmus' 30 second AJAX Tutorial - [was Re: [PHP] AJAX & PHP]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hey Rasmus,
 Well said! Thanks for the example to... I am sure I am going to refer to it 
more than a few times... The AJAX/XMLHttpRequest was more an ephiphony for 
me than anything else.... Since the only references I have that are related 
to PHP or any other server side scripting languages is (1) people on the 
list and my best friend, (2) the PHP manual... ;o) ..I wish I knew more 
developers out there... cause I tend to learn alot from working with 
others... and XMLHttpRequest would have came up alot sooner in my life!!! 
LOL
 I don't think I would use the AJAX library itself... but I will use the 
framework that it is based on... 
 Thanks for taking the time to give us the example!
Joe
  On 7/21/05, Rasmus Lerdorf <rasmus@xxxxxxxxxxx> wrote: 
> 
> I find a lot of this AJAX stuff a bit of a hype. Lots of people have
> been using similar things long before it became "AJAX". And it really
> isn't as complicated as a lot of people make it out to be. Here is a
> simple example from one of my apps. First the Javascript:
> 
> function createRequestObject() {
> var ro;
> var browser = navigator.appName;
> if(browser == "Microsoft Internet Explorer"){
> ro = new ActiveXObject("Microsoft.XMLHTTP");
> }else{
> ro = new XMLHttpRequest();
> }
> return ro;
> }
> 
> var http = createRequestObject();
> 
> function sndReq(action) {
> http.open('get', 'rpc.php?action='+action);
> http.onreadystatechange = handleResponse;
> http.send(null);
> }
> 
> function handleResponse() {
> if(http.readyState == 4){
> var response = http.responseText;
> var update = new Array();
> 
> if(response.indexOf('|' != -1)) {
> update = response.split('|');
> document.getElementById(update[0]).innerHTML = update[1];
> }
> }
> }
> 
> This creates a request object along with a send request and handle
> response function. So to actually use it, you could include this js in
> your page. Then to make one of these backend requests you would tie it
> to something. Like an onclick event or a straight href like this:
> 
> <a href="javascript:sndReq('foo')">[foo]</a>
> 
> That means that when someone clicks on that link what actually happens
> is that a backend request to rpc.php?action=foo will be sent.
> 
> In rpc.php you might have something like this:
> 
> switch($_REQUEST['action']) {
> case 'foo':
> /* do something */
> echo "foo|foo done";
> break;
> ...
> }
> 
> Now, look at handleResponse. It parses the "foo|foo done" string and
> splits it on the '|' and uses whatever is before the '|' as the dom
> element id in your page and the part after as the new innerHTML of that
> element. That means if you have a div tag like this in your page:
> 
> <div id="foo">
> </div>
> 
> Once you click on that link, that will dynamically be changed to:
> 
> <div id="foo">
> foo done
> </div>
> 
> That's all there is to it. Everything else is just building on top of
> this. Replacing my simple response "id|text" syntax with a richer XML
> format and makine the request much more complicated as well. Before you
> blindly install large "AJAX" libraries, have a go at rolling your own
> functionality so you know exactly how it works and you only make it as
> complicated as you need. Often you don't need much more than what I
> have shown here.
> 
> Expanding this approach a bit to send multiple parameters in the
> request, for example, would be really simple. Something like:
> 
> function sndReqArg(action,arg) {
> http.open('get', 'rpc.php?action='+action+'&arg='+arg);
> http.onreadystatechange = handleResponse;
> http.send(null);
> }
> 
> And your handleResponse can easily be expanded to do much more
> interesting things than just replacing the contents of a div.
> 
> -Rasmus
> 
> Joe Harman wrote:
> > Yeah, AJAX is really going to change the way web applications are 
> made...
> > I've messed around with the tutorials with it...
> > I've also seen it referred to as XMLHttpRequest .. I think the AJAX 
> class
> > transforms your PHP functions into javascript... seems like the class is
> > just made to for people like me who are heavy with PHP... but don't have 
> a
> > clue about javascript... from my impression you need to be able to have 
> a
> > tiny bit of javascript programming skill to really put it to use... do a
> > search on google for XMLHttpRequest PHP Tutorial .. there is a lot there
> > Good Luck..
> > Joe
> >
> > On 7/21/05, Paul Waring <paul@xxxxxxx> wrote:
> >
> >>On Thu, Jul 21, 2005 at 11:22:25AM +0530, balwant singh wrote:
> >>
> >>>Have anybody tried PHP & AJAX, may please share your experience. also
> >>>pls. suggest good link of tutorial on this.
> >>
> >>I haven't tried it myself, but this looks rather good, article on how to
> >>implement Google Suggest in PHP:
> >>
> >>http://tinyurl.com/dxs8b
> >>
> >>Paul
> >>
> >>--
> >>Rogue Tory
> >>http://www.roguetory.org.uk
> >>
> >>--
> >>PHP General Mailing List (http://www.php.net/)
> >>To unsubscribe, visit: http://www.php.net/unsub.php
> >>
> >>
> >
> >
> >
> 
> 


-- 
Joe Harman
---------
Do not go where the path may lead, go instead where there is no path and 
leave a trail. - Ralph Waldo Emerson

[Index of Archives]     [PHP Home]     [Apache Users]     [PHP on Windows]     [Kernel Newbies]     [PHP Install]     [PHP Classes]     [Pear]     [Postgresql]     [Postgresql PHP]     [PHP on Windows]     [PHP Database Programming]     [PHP SOAP]

  Powered by Linux