The majority of Ajax operations in Basecamp are handled with Server-generated JavaScript Responses (SJR). It works like this: Form is submitted via a XMLHttpRequest-powered form. Server creates or updates a model object. Server generates a JavaScript response that includes the updated HTML template for the model. Client evaluates the JavaScript returned by the server, which then updates the DOM. T
