JsHttpRequest is a free, powerful and cross-browser library to create AJAX-based websites in PHP. It could be used separately or as a PHP part for the popular Prototype JS library and fully compatible with that tool. The library also supports an unique feature - file uploading to a server without a page reloading (AJAX-style uploading), even if you use Prototype JS compatible interface. JsHttpRequest has an excellent cross-browser compatibility (e.g. works with IE 5.0 with disabled ActiveX and without XMLHttpRequest support). You may work with any character encoding (including any national) "transparently" - forget about a manual encoding/decoding in your scripts, all that is done automatically! You may continue to use the full set of habitual PHP debug features and coding traditions (e.g., the library automatically intercepts and correctly processes PHP notices and even fatal errors). You may freely use multi-dimensional data structures (associative arrays, nested objects etc.) while sending a data from a server to a client and vice versa (including Prototype JS interface); in that case all conversions between PHP arrays and JavaScript objects are done automatically. The library automatically chooses the best method of data loading according to the browser capabilities (e.g. it uses XMLHttpRequest if available, and if not, tries other methods). JsHttpRequest's programming interface is very simple and obvious: you may use Prototype JS interface (if you used to work with Prototype), the library's own interface or even XMLHttpRequest-compatible interface for data loading. You may also use the full-featured version of the library (14K), or a shrinked version (e.g. the cross-browser version with only SCRIPT loader support - 8K). So, the size of JsHttpRequest is quite small.