Instead of loading a webpage, at the start of the session, the browser loads an Ajax engine ?written in JavaScript and usually tucked away in a hidden frame. This engine is responsible for both rendering the interface the user sees and communicating with the server on the user뭩 behalf. The Ajax engine allows the user뭩 interaction with the application to happen asynchronously ?independent of communication with the server. So the user is never staring at a blank browser window and an hourglass icon, waiting around for the server to do something.
Every user action that normally would generate an HTTP request takes the form of a JavaScript call to the Ajax engine instead. Any response to a user action that doesn뭪 require a trip back to the server ?such as simple data validation, editing data in memory, and even some navigation ?the engine handles on its own. If the engine needs something from the server in order to respond ?if it뭩 submitting data for processing, loading additional interface code, or retrieving new data ?the engine makes those requests asynchronously, usually using XML, without stalling a user뭩 interaction with the application.