What do you think is better?
Use for Ajax result:
- HTML that was generated on server
- Return Data that would be used within template?
I think plus for server rendering are escaping, easy more complex logic, when much data needed!
What do you think is better?
Use for Ajax result:
I think plus for server rendering are escaping, easy more complex logic, when much data needed!
Both approaches have pros and cons. Returning JSON or XML from the server and using javascript templating to convert to HTML is more RESTful and has the advantage of separating data and presentation and allowing multiple clients to easily use it. The cons is that it is more work to do in javascript.
On the other hand if the server returns HTML all you have to do is inject it somewhere into the DOM. Unfortunately in this case markup and data are mixed and it would be more difficult for other clients to extract data without formating (imagine for example a desktop or mobile application that wants to consume services from your site).
IMHO if the only consumer is your site then returning HTML would be the better approach.
One advantage I see with 'processing json to create markup' on client side is decrease in size of the data being transferred.
The answer to your question would depend on what kind of application you are developing. Say if you have an application where you display a list of (constantly updating) status messages on a page; sending the html would be heavier as it would contain all markup for laying out the status messages. Instead, a json object would be light enough and can be processed easily on client side into required markup.