User Interface
A common use for Ajax is to directly improve the user experience. Web pages using Ajax can behave similar to a standalone application by dynamically updating the interface and content with fresh data. By transmitting and processing only the content which is necessary for user interaction, rather than an entire web page, Ajax can respond relatively quickly to user actions.
 Bandwidth Usage
 Separation of Data, Format, Style and Function
- The basic page content is still often loaded with HTML from the server
- Data is retrieved separately from servers and typically transmitted in JSON or XML format.
- The page is manipulated in the web browser through DOM.
 Browser Integration
A page altered dynamically does not automatically have itself registered with the browser history engine as a unique page, so triggering the "Back" function of the users' browser might not send the user to what they previously saw. This problem also prevents users from sharing URLs or retaining bookmarks to pages exactly as they see them. Until a standard is formalized, a few workarounds to this problem are sometimes used, most popular being the altering of the URL after the hashtag ('#') since it does not trigger a page load in the browser.
Ajax can suffer from slow network connections or network latency - the interval between user request and server response. The interface of a page built dynamically with Ajax can have a significant delay and should therefore display some type of "processing" indicator to the end user. It's also possible for the user to witness awkward page changes as content is updated and rendered in the browser. Sometimes it's preferable to make large changes to the DOM invisible to the user until the update is complete.
 Search Engine Optimization
 Libraries and Frameworks
A variety of notable libraries and frameworks help developers implement AJAX:
- Pyjamas is a python AJAX framework
- Web application/Autocomplete textbox
- Web application/Dialog box
- Web application/Progress bar
- Web application/Progressive loading