Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

XmlHttpRequest return values

I'm looking for (arguably) the correct way to return data from a XmlHttpRequest. Options I see are:

  • Plain HTML. Let the request format the data and return it in a usable format.
    Advantage: easy to consume by the calling page.
    Disadvantage: Very rigid, stuck with a fixed layout.

  • XML. Let the request return XML, format it using XSLT on the calling page.
    Advantage: the requested service is easily consumed by other sources.
    Disadvantage: Is browser support for XSLT good enough?

  • JSON. Let the request return JSON, consume it using javascript, render HTML accordingly.
    Advantage: easier to 'OO-ify' the javascript making the request.
    Disadvantage: Probably not as easy to use as the previous two options.

I've also thought about going for option one while abstracting the view logic in the called service in such a way that switching in and out different layouts would be trivial. Personally I think this option is the best out of three, for compatibility reasons.

While typing this, I got another insight. Would it be a good idea to allow all three response formats, based on a parameter added to the request?

like image 453
Erik van Brakel Avatar asked Sep 14 '26 06:09

Erik van Brakel


2 Answers

If you're looking for a quick solution that should work with most available frameworks, I'd go for JSON. It's easy to start with and works.

If you're trying to build a larger application that you're going to extend (in terms of size or maybe your own API for 3rd party extensions) I'd go for XML. You could write a proxy to provide the information in JSON or HTML too, but having XML as the main source is definitly worth the time and effort while building the app.

Like @John Topley said: it depends.

like image 154
cringe Avatar answered Sep 16 '26 21:09

cringe


I'd agree with John Topley - it depends on the application. There's a good article on quirksmode that discusses the advantages and disadvantages of each format that you might want to read: http://www.quirksmode.org/blog/archives/2005/12/the_ajax_respon.html

like image 30
Ian Oxley Avatar answered Sep 16 '26 19:09

Ian Oxley



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!