Illustration of how Sajax works

Welcome to Sajax!

Breaking news: After a very long delay, Sajax version 0.13 is finally out. PHP and ColdFusion support has been much improved, including many bug fixes and improvements to the client code, better browser support and international charectors. Please download the new version and contact us if you find any bugs.

Sajax is an open source tool to make programming websites using the Ajax framework — also known as XMLHTTPRequest or remote scripting — as easy as possible. Sajax makes it easy to call PHP, Perl, ColdFusion, IO, LUA, Ruby or Python functions from your webpages via JavaScript without performing a browser refresh. The toolkit does 99% of the work for you so you have no excuse to not use it.

Download Now

The most recent version 0.13, including code and examples:

Version 0.13, php code only: sajax.phps

News

Version 0.13: PHP: Full UTF-8 support, Per call cancle, Much better IE support, Send arrays and objects, Client side security improvments, speed improvements, support for synchronous calls, better handeling of cache, perfunction GET/POST and URI, native php serialization and more bug fixes. ColdFusion: Updated to match the PHP implementation with only a little difference in how how sajax_export() is called. The clicen side has been seporated from the backend to make porting and maintaning simpler plus improve load time. See the diffs for more information: 0.12 → 0.13.
Version 0.12: PHP: Many, many improvements to the serialization support and numerous bug fixes. ASP: Temporarily removed due to the security problems. See the diffs for more information: 0.10 → 0.12.
Version 0.11: Unreleased beta.
Version 0.10: PHP: Support for POST and sending data to another URL (thanks to Folletto Malefico, Leonardo Lorieri and Jesse Sightler). Beta ASP (thanks to Jared Nuzzolillo) and ColdFusionMX (thanks to Eric Moritz) backends. See the diffs for more information: 0.9 → 0.10.
Version 0.9: Fixed bug in Perl backend — thanks to Max Maischein. Major restructuring of PHP backend: incl_sajax.php is now Sajax.php, rs_* functions are now sajax_*, added sajax_get_javascript() which doesn't echo output, created generic XmlHttpRequest dispatcher function to minimize code duplication — thanks to Majeed Goldrick. Ruby backend contributed by anonymous and put into public domain. Io backend by Sajax team at ModernMethod. See the diffs for more information: 0.8 → 0.9.
Version 0.8: Fixed bug in PHP backend with long open tags — thanks to Matthew M. Vince. Added Lua module — thanks to Javier Guerra. See the diffs for more information: 0.7 → 0.8.
Version 0.7: Fixed bug in PHP backend when calling functions with no args. Thanks to Lai for reporting this one. See the diffs for more information: 0.6 → 0.7.
Version 0.6: Perl and Python backend added — thanks to Nathan Schmidt, Nate Mueller, Jason Purdy and Adam Collard. PHP version changed to work without short open tags. Website restructured, send me feedback. See the diffs for more information: 0.5 → 0.6.
Version 0.5: Major bug in IE6 fixed: it was loading cached content; to bust this I added a random arg to the URL and sent cache-busting headers. (Thanks, Argyle) Fixed Wall to have colors (woo! -- thanks Serf). See the diffs for more information: 0.4 → 0.5.
Version 0.4: Remove old, unused objects; fixes for Wall example. See the diffs for more information: 0.3 → 0.4.
Version 0.3: Inline, anonymous function for onReadyStateChange is the cure to global ills; performance much improved.
Version 0.2: Attempted to fix concurrent requests with a variety of baffling arrays; performance problems.
Version 0.1: First release; worked, but awkward globals usage. Problems with concurrent requests.

If you appreciate Sajax, please consider making a donation. Thank you!