AJAX and PHP: Building Responsive Web Applications
|Also available on:|
- Build a solid foundation for your next generation of web applications
- Leverage the power of PHP and MySQL to create powerful back-end functionality and make it work in harmony with the smart AJAX client
- Go through numerous case studies that demonstrate how to implement AJAX-enabled features in your site such as: real-time form validation, online chat, suggest & autocomplete, whiteboard, SVG realtime charting, whiteboard, web data grid, RSS reader, drag & drop
Table of Contents
Chapter 1: AJAX and the Future of Web Applications
Chapter 3: Server-Side Techniques with PHP and MySQL
Chapter 4: AJAX Form Validation
Chapter 5: AJAX Chat
Chapter 6: AJAX Suggest and Autocomplete
Chapter 7: AJAX Real-Time Charting with SVG
Chapter 8: AJAX Grid
Chapter 9: AJAX RSS Reader
Chapter 10: AJAX Drag and Drop
Appendix A: Preparing Your Working Environment
Being 275 pages in size and containing ten chapters of totally relevant content, this tome (like all that I have read from PACKT publishing) is a no-messing-about, get-to-the-point and teach-you-what-you-need type of book and does what it needs to do accurately.
What I liked most about this book was that there was no fluff. AJAX is what it is and I felt the authors realize this and wasted no time getting right into it. All in all I think this is a great introduction to AJAX.
Download the code and support files for this book.
Please let us know if you have found any errors not listed on this list by completing our errata submission form. Our editors will check them and add them to this list. Thank you.
Errata- 9 submitted: last submission 07 Dec 2012
Errata type: Typo | Page number: 22 | Errata date: 10 Aug 06
TIn the code block "if (XmlHttp.status==200)", the third comment has two "the" before "document element". It should be rewritten as "get the text message, which is in the first child of the document element"
Errata type: Typo | Page number: 28 | Errata date: 2 April 09
bullet point 3 typo after (it is passed via GET): "The handeServerResponse" should be "handleServerResponse"
Errata type: Code Typo | Page number: 41 | Errata date: 29 Aug 06
Load http://localhost/ajax/foundations/css/css.html should be rewritten as Load http://localhost/ajax/foundations/csstest/csstest.html
Errata type: Typo | Page number: 43 | Errata date: 25 Jun 09
insert at top "The ActiveX XMLHttp library comes is many more..." should be "... comes in ..."
Errata type: Code | Page number: 47 | Errata date: 10 Jun 08
In the method/property box where you provide a quick reference to XMLHttpRequest methods, "Status" should be "status" as implemented on the code on page 50 and onward.
Errata type: Typo | Page number: 48 | Errata date: 29 Aug 06
In the first paragraph there is "you will `seed` to set async to true". It should be changed to 'need`.
Errata type:Code Typo | Page number: 80 | Errata date: 29 Aug 06
http://www.random.org/cgibin/randnum?num=1&min=1&max=100 should be http://www.random.org/cgi-bin/randnum?num=1&min=1&max=100
Errata type: Code Typo | Page number: 91 | Errata date: 04 Sep 06
// using setTimeout and clearTimeout timerId = window.setTimeout("function()", interval_in_milliseconds); window.clearTimeout(timeId); // using setInterval and clearInterval timerId = window.setInterval("function()", interval_in_milliseconds); window.clearInterval(timeId); should read: // using setTimeout and clearTimeout timerId = window.setTimeout("function()", interval_in_milliseconds); window.clearTimeout(timerId); // using setInterval and clearInterval timerId = window.setInterval("function()", interval_in_milliseconds); window.clearInterval(timerId);
Errata type:Code Typo | Page number: 214 | Errata date: 07 Sep 06
alert(response.length == 0 ? "Server serror." : response); should be alert(response.length == 0 ? "Server error." : response);
What you will learn from this book
Chapter 1: AJAX and The Future Of Web Applications is an initial incursion into the world of AJAX and the vast possibilities it opens up for web developers and companies, to offer a better experience to their users. In this chapter youâ€™ll also build your first AJAX-enabled web page, which will give you a first look of the component technologies. You can read this chapter in full, for free, here: http://ajaxphp.packtpub.com/1825_01_Final.pdf
View AJAX and the Future of Web Applications Demo: http://ajaxphp.packtpub.com/ajax/quickstart/
Chapter 3: Server-Side Techniques with PHP and MySQL completes the theory foundation by presenting how to create smart servers to interact with your AJAX client. You"ll learn various techniques for implementing common tasks, including handling security and error handling problems.
Chapter 4: AJAX Form Validation guides you through creating a responsive, modern form with real-time validation based on server data. View AJAX Form Validation Demo: http://ajaxphp.packtpub.com/ajax/validate/
Chapter 5: AJAX Chat presents a simple online chat that works exclusively using AJAX code, without Java applets, Flash code, or other specialized library, as most chat applications work these days. Chapter 5 has now been updated to cover JSON. You can read the chapter in full, for free, here: www.PacktPub.com/files/Ajax_Chat_and_JSON.pdf [PDF - 1 MB]
View AJAX Chat Demo: http://ajaxphp.packtpub.com/ajax/chat/
Chapter 6: AJAX Suggest and Autocomplete builds a Google-suggest like feature, that helps you find PHP functions, and forward you to the official help page for the chosen function. View AJAX Suggest and Autocomplete demo: http://ajaxphp.packtpub.com/ajax/suggest/
Chapter 7: SVG (Scalable Vector Graphics) is a text-based graphics language that can be used to draw shapes and text. (SVG is supported natively by Firefox 1.5, and requires a SVG plugin with other browsers). In this case study you learn how to implement a realtime charting solution with AJAX and SVG. View SVG Demo here: http://ajaxphp.packtpub.com/ajax/svg_chart/
Chapter 8: AJAX Grid teaches you how to build powerful updatable data grid. You"ll learn how to parse XML documents using XSLT to generate the looks of your grid. View AJAX Grid Demo here: http://ajaxphp.packtpub.com/ajax/grid/
Chapter 9: AJAX RSS Reader uses the SimpleXML PHP library, XML and XSLT, to build a simple RSS aggregator. View AJAX RSS Reader Demo here: http://ajaxphp.packtpub.com/ajax/rss_reader/
Chapter 10: AJAX Drag and Drop is a demonstration of using the script.aculo.us framework to build a simple list of elements with drag&drop functionality.
Appendix A: Configuring Your Working Environment teaches you how to install and configure the required software: Apache, PHP, MySQL, phpMyAdmin.
- Server-enabled form-validation page
- Online chat collaboration tool
- Customized type-ahead text entry solution
- Real-time charting using SVG
- Database-enabled, editable and customizable data grid
- RSS aggregator application
The appendices guide you through installing your working environment, using powerful tools that enable debugging, improving, and profiling your code, working with XSLT and XPath.
From the Author, Cristian Darie
"AJAX and PHP: Building Responsive Web Applications is mainly a book for beginners, but when designing its contents we tried to find the ideal blend of topics that would help both novice and experienced web developers make a big step forward. One customer was very kind to let us know, through a review, that we succeeded:
"The theory behind all the technologies used is very clearly explained, without boring you with details about obvious things. Right from the first chapter you start learning by examples. The examples can be easily adapted to many web projects and they cover stuff that is both useful and fun."
Here are a few examples of such "useful and fun" things that you can find in this book:
- details on using proxy scripts to work around the security measures in modern browsers
- client-side and server-side code that doesn't break when fed with special characters (such as <, ", etc)
- code that works efficiently with Internet Explorer 5, 6 and 7, Firefox, Opera, Safari, and others
- a very quick introduction to SVG, the new rebel kid of the web (and of the house)
- client-server communication based on message queues that guarantee that your messages aren't lost on the way, and arrive in the intended order at the destination
- server-side state management techniques that use query string parameters and database records to keep track of your client's activity
- a live errata page that is updated as soon as anyone reports a suggestion or a correction
The book's authors and the publisher are listening to your feedback, and appreciate when you invest some time to let them know what you think. The first result of this collaboration is an updated version of the AJAX Chat case study that uses (and teaches) JSON instead of XML. Find this new chapter in the code download or on my website.
Thanks for reading such a long message. Have fun!" Cristian Darie.
AJAX and PHP: Building Responsive Web Applications is the most practical and efficient resource a reader can get to enter the exciting world of AJAX. This book will teach you how to create faster, lighter, better web applications by using the AJAX ingredients technologies to their full potential.
View demos of the case studies in this book here: http://ajaxphp.packtpub.com/
UPDATE: Following suggestions from customers, Packt has updated AJAX and PHP: Building Responsive Web Applications to now cover JSON, a document format that can be used as an alternative to XML. Chapter 5, the AJAX Chat Case Study, now introduces JSON theory and also uses JSON instead of XML in the code.
The updated chapter is free and can be downloaded from: www.PacktPub.com/files/AJAX-Chat-and-JSON.pdf [1 MB]