You can decide if you want the ajax call to be async or not using this:
$.ajax({ async: false/true, //more options});
To answer your first point, no: GET and POST are independent of synchronous / asynchronous.
You can use the boolean async method to control this.
async
There is a "async" flag for making the ajax call synchronous or asynchronous. You can define it as:
$.ajax({ async: false/true, //rest of code});