Illustration of how Sajax works

Welcome to Sajax!

Commercial consulting and support now available. Get support from the people who made Ajax easy for the masses. If your staff needs a helping hand with your Ajax project, we now offer commercial support and consulting. Email support for the Sajax library starts at an affordable $199 per year. We can help you build your project for rates from $150 per hour. Contact us for more information. Sajax itself remains under the open source BSD license.

Breaking news: After a long delay, Sajax version 0.12 is finally out. PHP support has been much improved, including many bug fixes and improvements to the serialization support. 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 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.

Examples

Here are two overly simplistic examples:

Graffiti Wall: → Try it or see source

Calculator: → Try it or see source

Still confused? Read our Frequently Asked Questions or ask for help in our message board.

Download Now

The most recent version 0.12, including code and examples:

Version 0.12, code only: Sajax.php.txt

News

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, 0.11 beta → 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 diff of the changes.
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 diff of changes.
Version 0.8: Fixed bug in PHP backend with long open tags — thanks to Matthew M. Vince. Added Lua module — thanks to Javier Guerra.
Version 0.7: Fixed bug in PHP backend when calling functions with no args. Thanks to Lai for reporting this one.
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.
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)
Version 0.4: Remove old, unused objects; fixes for Wall example.
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!