The "A" in Ajax stands for "Asynchronous", and the "X" stands for "XML", but I will use the term to describe any use of the XMLHttpRequest object, including synchronous requests and requests that use JSON (or some other data format) instead of XML.
Asynchronous requests are used much more commonly than synchronous requests, but you might want to use synchronous requests at first to keep things simple. If you get Assignment 5 finished using synchronous requests, then you might want to save a copy and then try asynchronous requests.
To make a synchronous request rather than an asynchronous request, pass false as the theird parameter to the open method and don't set the onreadystate change property. The send method will not return until the request is complete.
The disadvantage of using synchronous requests is that the user interface will be locked up until the request is completed and the user will not be able to do anything.
Ajax is usually used to load data from a server. For Assignment 5, you'll be loading data from my server, but for Assignment 6 you will be using Ajax to load local files. That doesn't work in Chrome, so you'll need to use Firefox or Safari for Assignment 6. Also, when loading local files with Ajax, you won't get a response code of 200. You might get a response code of zero or some other value.
Many web applications use the POST method with XMLHttpRequest to send data to a server and store it there. Unfortunately that's not an option for us in this class because storing data on a server requires server-side scripting, which we do not study in this class. If you want to keep track of something like game high scores, you can use HTML5 local storage to store data in the browser. You'll use local storage for Assignment 5 and we will talk about it in more detail in Lesson 10.
class in the past) explained several Ajax "cautions":
1) Lack of visual feedback that shows the application is waiting for data from the server.
2) Difficulties with bookmarks because a page's URL does not change when the content is changed by Ajax code
3) Scripts that use Ajax bypass the browser's history mechanism so that the Back button won't work as expected.
* page 498 of the fifth edition