Да, тут поможет AJAX. На клиенте делаем:
$.post('/call.php', { data: data }, function(result) {
// json
result = JSON.parse(result);
// actions
});
И в серверной части (например, на PHP)
if (isset($_SERVER['HTTP_X_REQUESTED_WITH']) && strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) == 'xmlhttprequest') {
// vars
$data = isset($_POST['data']) ? flt_input($_POST['data']) : NULL;
// actions
$result = some_function($data);
// output
echo json_encode($result, true);
exit();
}
Конечно, есть более сложные и интересные способы на основе COMET-технологии (те же WebSockets), но для начала стоит освоить AJAX.