Here's a simple recipe that worked for me. It is quite inspired by the [wiki:AjaxDojoFormSub] example, except that this one is expected to function with python-cjson for receiving JSON data. My initial objective was to display validation errors without doing a page-refresh, by using JSON for carrying errors (or whatever else you could possibly imagine) back to the client browser. First thing first, lets write the server view, as its really important to make the forms working without the use of Javascript: {{{ def register(request): # write the view here pass }}} Then, we should definitely try to explain the client side: [...]