An Ajax Common Lisp Library using parenscript to generate javascript and hunchentoot (for now) as the web server. Basically a fork and refactoring of ht-simple-ajax with an attempt merge ideas and code from ht-ajax.
Common Lisp
Switch branches/tags
Nothing to show
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
demo
docs
impl-dependent
.gitignore
CHANGELOG
License.txt
README.txt
package.lisp
pusher.lisp
smackjack.asd
smackjack.lisp

README.txt

This is the stub README.txt for the "smackjack" project.

Smackjack is a small Ajax framework written in Common Lisp.  Basically
Smackjack allows browser code call lisp functions via ajax and get a
return value. The code can be downloaded with all its dependencies
and loaded by quicklisp (10/2013).

Currently runs under Hunchentoot web server but there are plans
to allow other web servers. It was a fork of ht-simple-ajax and
aspires to be a replacement to the unmaintained and out of date
ht-ajax.

Differently than those two libraries, this one depends on parenscript
to generate client-side javascript and allows greater flexibility in
generated javascript.

Current version is compatible with ht-simple-ajax but it lacks many
features of ht-ajax.

The following features are addition to those available in ht-simple-ajax:

  * AJAX via Post as well as Get

  * response can be text, xml or json.

  * optional javascript namespaces to encapsulate generated javascript
    functions.
  
  * The arguments of the functions can be treated by cl-json before
    calling the function.


The code also contains a "pusher" subclass.  This allows a lisp
function call indirectly a javascript function defined in your lisp
code by parenscript but runs in the browser.  Basically the opposite
of SmackJack.  This is achieved by adding a simple polling mechanism.
Future development may include long polling.