Select a planet from the choices below. The request string necessary for a successful XMLHttpRequest communication will be displayed below. Clicking the ‘Send XMLHttpRequest’ button initiates communication between this JavaScript client and the PHP Web Service. The result of this communication will be output above the planetary choices.
Mercury: Venus: Earth: Mars: Jupiter: Saturn: Uranus: Neptune: Pluto:
Explanation of Web Page Functionality
A JavaScript function is triggered when the user selects a planet. This function formats the request string that will be sent off to the server, and displays it in a paragraph above so that the user can check that the correct planet has been selected.
For interest, this JavaScript function is displayed below:

The aforementioned request string is sent off to a PHP-based Web Service. If this Web Service receives a correctly-formatted request string, it responds with an HTTP header of ‘200 OK’ and a succession of declarative, statistical statements relating to the selected planet. Following the usual grammatical convention, a ‘period’/’full stop’ and a ‘space’ separates the sentences. In this example, the background colour of the paragraph is set to ‘khaki’ and the sentences are displayed in a bullet-pointed list.
If this Web Service receives an incorrectly-formatted request string, it responds with an HTTP header of ‘400 Bad Request’ and a paragraph of text that explains the expected request string format. You can test this response by clicking the ‘Send XMLHttpRequest’ button without selecting a planet; the explanatory paragraph will be displayed above.
The Web Service will only respond with either a ‘200 OK’ or ‘400 Bad Request’ HTTP header. For all other communication issues – for example, a loss of internet connection – an error message will be displayed in red font, informing the user that an ‘unforeseen communication issue’ has occurred.
For interest, the JavaScript function that facilitates client-server communication in response to clicking the ‘Send XMLHttpRequest’ button is displayed below:

Leave a Reply