YOUR FEEDBACK
SCO - Linux' Worst Nightmare Is Back
cantstoplaughing wrote: Hi, I thought you got dropped by sys-con? What ha...
AJAXWorld RIA Conference
$300 Savings Expire July 18
Register Today and SAVE!

SYS-CON.TV

2007 West
GOLD SPONSORS:
Active Endpoints
Your SOA Needs BPEL for Orchestration
BEA
Virtualized SOA: Adaptive Infrastructure for Demanding Applications
Nexaweb
Overcoming Bandwidth Challenges with Nexaweb
TIBCO
What is Service Virtualization?
SILVER SPONSORS:
WSO2
Using Web Services Technologies and FOSS Solutions
Click For 2007 East
Event Webcasts

2008 East
PLATINUM SPONSORS:
Appcelerator
Think Fast: Accelerate AJAX Development with Appcelerator
GOLD SPONSORS:
DreamFace Interactive
The Ultimate Framework for Creating Personalized Web 2.0 Mashups
ICEsoft
AJAX and Social Computing for the Enterprise
Kaazing
Enterprise Comet: Real–Time, Real–Time, or Real–Time Web 2.0?
Nexaweb
Now Playing: Desktop Apps in the Browser!
Sun
jMaki as an AJAX Mashup Framework
POWER PANELS:
The Business Value
of RIAs
What Lies Beyond AJAX?
KEYNOTES:
Douglas Crockford
Can We Fix the Web?
Anthony Franco
2008: The Year of the RIA
Click For 2007 Event Webcasts
TOP THREE LINKS YOU MUST CLICK ON


What Is AJAX?
AJAX isn't a technology, or a language, and there's no recipe to implement it

Digg This!

Page 2 of 4   « previous page   next page »

Now let's create a small application that could actually benefit you. How many times have you created a registration form that can validate almost everything client-side by using JavaScript, but the username has to be validated upon submission, and if it already exists, you either have to abort and use JavaScript for the alert and send the client back, or cflocate and populate all the form fields by using the session. Wouldn't it be great if we could avoid all that and simple check the username as another JavaScript call? And not even think of creating an existing username array and have it local in the registration form?

It 's not that much different from the file we have. Let's modify the index.cfm file a little. We'll create a basic user registration form with a single fieldname called user and we'll pass that value to the AJAX call. The tricky part here is that AJAX is asynchronous, which means that the function won't return the value you need. Instead the callback function will get called on a different thread. Not to worry, I'll demonstrate how this can be done.

model.cfm
<cfinclude template="core/cfajax.cfm">
<cffunction name="userExists" returntype="boolean">
   <cfargument name="event">
   <cfset var return = false />
   <cfif ListFindNoCase('rob,john,paul',event)><cfset return = true /></cfif>
   <cfreturn return />
</cffunction>

Index.cfm now contains a user registration form. On submit, we'll call checkUser(). Note that we must actually call it with a return parameter or we'll always return false! No matter what happens, the form won't get submitted the traditional way. Note that I included 'utils.js' only to call the 'useLoadingMessage' function, which imitates the Gmail loading message while AJAX makes its round trip. 'Execute' sets a callback function, which checks for the ColdFusion return. If true, we'll display an error message, and if the user doesn't exist, we'll manually submit the form by using the JavaScript submit() function. The only difference in the execute call is that we pass the form value to the ColdFusion model. The CFM page is straightforward: all we're doing is a dummy check against a hard-coded list. This is the place where you would put your queries or invoke your components.

You should now be able to set up an AJAX engine, a simple HTML view, make a call, listen, process, and respond using ColdFusion, and process the response in your callback function. In the next part of this article, I'll explain how to pass complex objects by using WDDX serialization, populate tables, use innerHTML properties for advanced JavaScript view manipulations, and provide a full internal rotating banners application that tracks impressions and clicks. I will also cover cross-browser compatibility and offer some little tricks to make your AJAX application as widely compatible as possible.


Page 2 of 4   « previous page   next page »

About Rob Gonda
Rob Gonda is the CTO for iChameleon Group and Contributing Editor to AJAXWorld Magazine. He is an Advanced Certified Coldfusion Developer, member of the Adobe Community Experts, frequent contributor to the CFDJ and ADJ, frequent speaker at IT and developer conferences nationwide, co-author of Real-World Ajax Book, author of ajaxCFC, holds a BS in computer science and engineering, an MBA with a specialization in entrepreneurship, and he specializes in Rich Internet Applications and object-oriented architecture. You can reach him at rob[at]robgonda[dot]com and read his blog is at http://www.robgonda.com

Swamy wrote: Hi, I need a basic clarification. will Ajax can be implemented in ColdFusion 5 version(on IIS/oracle 9i). If yes, please help me by providing some information like How to setup engine files and how to get it worked in CF5.
read & respond »
karthikeyan Palani wrote: Hi Rob, Thank you for the introduction for ajax with coldfusion .It is very easy to get started.
read & respond »
Hello Ajaxer wrote: did u recognize the Ajax interface as you posted your feedback, or you have no clue what Ajax means?
read & respond »
ajaxer wrote: too bad you didnt use AJAX on this site...
read & respond »
SYS-CON Brazil News Desk wrote: It's become very popular lately, even though it's not exactly new. It's been possible to use the concept behind AJAX since browsers introduced the XMLHttpRequest function in 1999. Enjoy Rob Gonda's highly popular ColdFusion Developer's Journal article on AJAX, the hottest software development of 2005, with plenty more heat promised for 2006.
read & respond »
news desk wrote: It's become very popular lately, even though it's not exactly new. It's been possible to use the concept behind AJAX since browsers introduced the XMLHttpRequest function in 1999. Enjoy Rob Gonda's highly popular ColdFusion Developer's Journal article on AJAX, the hottest software development of 2005, with plenty more heat promised for 2006.
read & respond »
Rob Gonda wrote: Neither FF or IE will allow cross-domain scripting. This is a securiry risk, read more here: http://getahead.ltd.uk/aj ax/cross-domain-xhr There are ways around it like a Server Side proxy, or third party JavaScripts like Ajax Extend (http://ajaxextend ed.com/) -Rob
read & respond »
Morgan wrote: Ok had a little time to kill and decided I'd give Ajax a try and see what all the hype was about. Downloaded and installed cfAjax folowed install directions step by step. all seemed fine untill I tried to run one of the sample applications. Then I got the following error. Permission denied to call method xmlhttpRequest.open I decided to load a full version of ajax and still got same error In looking for an answer I keep seeing the following as the culprit with no real solution. This error occurs when you try to make requests off-domain. which in pouring over the code I cant find anywher that the examples are making calls to off-domain. So lets cover the basics.. yes error is same in both ie and moxilla no I'm not using a local file (ie //file/ajax/example) no I dont have a firewall running between my work ...
read & respond »
Robert Blackburn - DevBlog wrote: Trackback Added: What Is AJAX?; While I am on the topic of CFDJ articles, there is another one titled What Is AJAX?. This one begins a lot like my earlier p...
read & respond »
Baz Web Development: Ajax, FastCGI, Joomla wrote: Trackback Added: Another “What Is Ajax” Introduction; What Is Ajax? — It’s become very popular lately, even though it’s not exactly new. It’s been possible to use the concept behind AJAX since browsers introduced the XMLHttpRequest function in 1999. Enjoy Rob Gonda’s highly popu...
read & respond »
Rob Gonda wrote: Mohan, I am glad I could help; I definitely tried to make the article so easy and straight forward so everyone can get AJAX started. This will be one of the major topics for 2006. To stay up to date with AJAX, please check my blog (www.robgonda.com) http://www.robgonda.com Best, -Rob
read & respond »
mohan wrote: i am new to AJAX this is a wonderful article. After seeing this article i am going to implement CFAJAX in our (production) search form. thank you veryyyyyyyyyy much regards mohan
read & respond »
Rob Gonda wrote: Perhaps, nothing really prevented anyone from using it; Jesse James Garrett just had to come up with the idea/concept. By the way, don't miss Jesse at the Ajax Seminar (www.ajaxseminar.com/)
read & respond »
Rob Gonda wrote: It is indeed; AJAX involves combining any server scripting language with client side, hence, JavaScript. I can see how you could probably automate a two related select boxes without writing JavaScript, but certainly not an RIA or Web 2.0 application.
read & respond »
Editor wrote: SYS-CON will soon launch a dedicated online AJAX section but it will not be called "AJAX Developer's Journal" or "AJAX Magazine." Thanks and best regards. P.S. Please stay tuned for SYS-CON's complete educational offerings to be announced soon.
read & respond »
Rob Gonda wrote: I just looked at the source code attached to the article, and you're right, it's missing model.cfm. You may download the complete source code at http://www.robgonda.com/b log/index.cfm/2005/11/17/ CFJD-Article-2
read & respond »
no comment wrote: I have cfajax working, but your example model.cfm doesn't do anything. What am I doing wrong?
read & respond »
news desk wrote: So What's AJAX? (Part One of Two) It's become very popular lately, even though it's not exactly new. It's been possible to use the concept behind AJAX since browsers introduced the XMLHttpRequest function in 1999.
read & respond »
ajax wrote: So What's AJAX? (Part One of Two) It's become very popular lately, even though it's not exactly new. It's been possible to use the concept behind AJAX since browsers introduced the XMLHttpRequest function in 1999.
read & respond »
So What's AJAX? wrote: So What's AJAX? (Part One of Two) It's become very popular lately, even though it's not exactly new. It's been possible to use the concept behind AJAX since browsers introduced the XMLHttpRequest function in 1999.
read & respond »
LATEST AJAXWORLD STORIES
Appcelerator Building Out the RIA Open Source Community
'We're dedicated to building the largest open-source community dedicated to RIAs, breaking down the barriers between traditional preferred languages, programming models and solutions,' says the co-founder & CEO of Appcelerator, Jeff Haynie, in this Exclusive Q&A with Jeremy Geela
AJAX World - Which RIA Tools Give Us the Best Bang for Your Buck?
In the world of Rich Internet Applications, there is no shortage of technology choices to compose a user interface. But what tools will give us the best bang for our buck? Here is a look at some heavy hitters and newcomers in the RIA market, including: HTML & AJAX, Rails and Grai
Saving Your Investment: Transforming J2EE applications into Web 2.0 using GWT
The pressure is on to keep pace with Web 2.0 entrants into the marketplace. Rewriting is expensive; adding AJAX widgets results in a complex, unmaintainable application. Both require you to hire scarce JavaScript developers. Google Web Toolkit -- the SDK that allows you to write
Gizmox Brings Microsoft Silverlight to Enterprises
Gizmox announced the release of a fully functional beta version of its Visual WebGui (VWG) with support for Microsoft Silverlight. For the first time, VWG enables Silverlight for enterprise applications by providing a RAD like Windows Forms development experience with drag & drop
How Linked Data and AJAR Changes Everything
The Web has evolved into a structured data space of loosely connected databases, enabling granular data access-by-reference to Web-accessible entities, courtesy of HTTP. This evolution and the emergence of AJAX-based RIA technologies lay the foundation for a new generation of lib
SUBSCRIBE TO THE WORLD'S MOST POWERFUL NEWSLETTERS
SUBSCRIBE TO OUR RSS FEEDS & GET YOUR SYS-CON NEWS LIVE!
Click to Add our RSS Feeds to the Service of Your Choice:
Google Reader or Homepage Add to My Yahoo! Subscribe with Bloglines Subscribe in NewsGator Online
myFeedster Add to My AOL Subscribe in Rojo Add 'Hugg' to Newsburst from CNET News.com Kinja Digest View Additional SYS-CON Feeds
Publish Your Article! Please send it to editorial(at)sys-con.com!

Advertise on this site! Contact advertising(at)sys-con.com! 201 802-3021

SYS-CON FEATURED WHITEPAPERS

ADS BY GOOGLE