La prima chiamata l'ho sdoganata, scopiazzando qua e là ma di fare ciò che volevo per ora nemmeno lontano.
La soluzione migliore che ho trovato è:

<input type="text" id="campo" name="campo">
<input type="button" value="ESEGUI" id="bottone">
<span id="risposta"></span>
</body>
<script>
function Show(id) { if (document.getElementById) { var el=document.getElementById(id); el.style.display=""; } }
function Hide(id) { if (document.getElementById) { var el=document.getElementById(id); el.style.display="none"; } }
let bottone = document.querySelector("#bottone");
bottone.addEventListener("click", esegui, true);
function esegui() {
let nome = document.querySelector("#campo").value;
Hide('campo');
Hide('bottone');
if (campo == '') { return; }
var xmlhttp = new XMLHttpRequest();
xmlhttp.onreadystatechange = function() {
if (this.readyState == 4 && this.status == 200) {
document.querySelector("#risposta").innerHTML = this.responseText;
}
};
xmlhttp.open("GET", "https://www.xxxxxxxx.xxx/risposta.php?campo=" + nome, true);
xmlhttp.send();
}
</script>
</html>

e come file risposta

<?php
//header("Access-Control-Allow-Origin: *");


if (isset($_REQUEST["nome"]))
{
$nome = $_REQUEST["nome"];
}
echo "<select id=\"select\">"."\n";
echo " <option>aaa</option>"."\n";
echo " <option>bbb</option>"."\n";
echo "</select>"."\n";
echo "<input type=\"button\" value=\"TORNA\" id=\"torna\" onclick=\"Show('campo');Show('bottone');Hide('sele ct');Hide('torna');\">"."\n";
?>

Non ho ancora capito se può funzionare

Comunque si, dammi indicazioni più orientate, please