Since my last AJAX project I''ve increasingly been wondering about the "ideal" output format for the AJAX response. Once you''ve succesfully fired an AJAX request, what sort of response should the server give? An XML document? An HTML snippet? A JSON string which is converted to a JavaScript object? Or something else? In this entry I''d like to discuss the three formats, with examples, and ask you which format you''ve used in your practical AJAX applications.
(This article has been translated into Spanish.)
When you receive an additional bit of data for your AJAX application, you should start up a script that incorporates this extra data into your single-page HTML interface. Of course the form of the script heavily depends on the format of the data you''ve received. Should you search an XML document for specific nodes and copy their text to the HTML? Or did you receive an HTML snippet that should be added to the page "as is"?
In my last project I received some data as XML documents and some as HTML snippets, and they needed different kinds of scripts to write the data to the page. Both formats, and both kinds of scripts, have their advantages and disadvantages.
After I''d finished the application I delved a bit deeper into JavaScript Object Notation, invented by Douglas Crockford and recently chosen as the default output format for most Yahoo services, and I think I like it, although I''ve never yet used it.
I''m left wondering: which format is the best? Which format do you think is best, or at least most useful in a practical AJAX environment?