А что вы хотите в итоге, не ясно...
Где только такой код люди нагугливают, звезда в шоке
Вы включаете в тело документа вызов файла menu.php, при этом на момент вызова оного оный не получает естественно никакого $_POST
И...?
Т.е. если позвонить бабкеВанге, то скорее вы хотите отобразить ответ от обработчика, тогда это так:
www.jooom.ru/toster/lol.html<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Ya LOL</title>
<script src="https://code.jquery.com/jquery-3.4.1.js"></script>
<script>
function getdata() {
var str = 1;
$.ajax({
type: "POST",
url: "menu.php",
data: {fstr:str},
success: function(data){
$('#lol').html(data);
}
})
}
</script>
</head>
<body>
<main>
<input type="text" name=str id=str>
<input type="button" name=but id=sub value=sub onclick="getdata()">
<?php //вот это нахрен отсюда!!! require('menu.php') ?>
<div id="lol"></div>
</main>
</body>
</html>