Если у тебя там долгие вычисления - браузер и так повиснет.
Если ajax-запрос, то есть два варианта. Первый - тупо выполнять запрос синхронно, но оне нехорош тем, что повиснет весь интерфейс. Второй таков:
<html>
<head>
<script>
var request_is_in_progress = false;
function request() {
if (request_is_in_progress)
return;
request_is_in_progress = true;
$.post("somescript.php", function() {
request_is_in_progress = false;
});
}
</script>
</head>
<body>
<button onclick="request()">Do request</button>
</body>
</html>