Question: I have a code (not written by me) of a button that bookmarks a person and add it to a shortlist. It looks like this:

JS & Ajax part:

```
self.isShortlisted = ko.observable(@(Model.Application.IsShortlisted ? "true" : "false" ));

self.isHidden = ko.observable(@(Model.Application.IsHidden ? "true" : "false" ));

$('form#shortlistForm').ajaxForm(function () {
    viewModel.applicationViewModel.isShortlisted(true);
});

$('form#unshortlistForm').ajaxForm(function () {
    viewModel.applicationViewModel.isShortlisted(false);
});

```

Answer: 
AJAX stands for 'Asynchronous JavaScript and XML' and as you pointed out, it is used to perform tasks without having to reload the page.

> 
> What makes ajax work without reloading the page?
> 
> 
> 

In answer to your question, tasks which are 'Asynchronous' can be carried out along side other tasks and do not need to wait for something else to finish (Synchronous). Because of this you do not need to reload / refresh a page to display new information as it's performed concurrently.

AJAX uses xhttp requests to usually return JSON objects from a web server. You can manipulate the DOM, JavaScript or HTML to display the object to the user.

[You can read more about AJAX here](https://www.w3schools.com/xml/ajax_intro.asp)

Hope this helped somewhat
**Ajax** is a ***client-side script*** that communicates to and from a server/database without the need for a postback or a complete page refresh. 

The best definition for Ajax is 
*this Ajax method use for exchanging data with server and it only updates parts of webpage*