Вы должны исследовать XMLHttpRequest .
С помощью JavaScript вы можете сделать то же самое, но без хитростей iFrame.
Вот пример, который "скажет браузеру загрузить другую страницу в фоновом режиме"
<script>
var xhttp = new XMLHttpRequest();
xhttp.onreadystatechange = function() {
if (this.readyState == 4 && this.status == 200) {
// Typical action to be performed when the document is ready:
document.getElementById("demo").innerHTML = xhttp.responseText;
}
};
xhttp.open("GET", "filename", true);
xhttp.send();
</script>
Имейте в виду, что браузеры имеют ограничения безопасности, поэтому убедитесь, что файл php находится в одном и том же домене, иначе он выдаст ошибку. Если вы переходите с другого веб-сайта, которым вы не можете управлять, вам нужно попросить владельца веб-сайта включить CORS.
Если вы хотите сделать это с сервера (php говорит с php), вам следует просто использовать cURL (как указано в комментариях @MarkSkayff)