Are you sure you saw the page becoming blank before calling AJAX with this code? This should not happen in any browser.
The browser window does not refresh at all while the script is running, so a synchronous call blocks all updates.
To update the browser to an AJAX call, use setTimeout , which will return the control to the browser before sending the request:
$('.something').click(function(){ $('body').html(''); window.setTimeout(function() { $.ajax({ url: 'someurl', dataType: 'json', async: false, success: function(data){
Note. This, of course, means that you cannot use the result of the query in the return value of the function if it was an intent with a synchronous call. If you need a synchronous event handler, you cannot upgrade your browser to an AJAX request.
Guffa source share