O'Reilly logo

Learning JavaScript, 2nd Edition by Shelley Powers

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

Chapter 15. Ajax Data: XML or JSON?

In Chapter 14, we looked at a simple Ajax application that called a web service, which returned the result as an HTML fragment. We then pasted the fragment into the web page using an element’s innerHTML property. Although that is an effective approach, it’s limited, especially if you want to further process the returned results. Two other ways to process returned data from web services via Ajax calls are generally more popular: formatting the data as XML, and formatting it as JavaScript Object Notation (JSON).

This chapter looks at how you can modify the application in Chapter 14 to return the result as XML, and as JSON, and discusses when to use one over the other. Rather than pasting a formatted list into the page, you’ll use the data from both to create a second selection element, with the cities added as options into the selection.

XML-Formatted Ajax Results

One advantage to returning a response formatted as XML is that the data can be much more complex than simple strings, or preformatted data in HTML. In addition, you can use the same Document Object Model (DOM) methods to work with the web page’s elements and to work with the XML document returned in an Ajax call.

The Data’s MIME Type

Using XML adds its own burdens, too. For instance, in Example 14-1 in Chapter 14, the result was returned as html/text, and the application accessed it through the XMLHttpRequest’s responseText property. When working with XML, it’s important that the server-side ...

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required