Я бы хотел создать прямой прокси на моем локальном компьютере с Apache. До сих пор я написал простую междоменную демонстрацию с прокси локально.
Вот файл /var/www/html/client.html
:
<script src="http://127.0.0.1/jquery-3.3.1.js"></script>
<script>
function Ajax( ) {
var url = 'http://127.0.0.1/do.php?url=http://127.0.0.1/test.html';
$.ajax(url, {
type:"GET",
dataType: 'html',
crossDomain: true,
success:function(response){
mytext = document.getElementById("remote");
mytext.append(response);
},
error: function (e) {
alert("error");
}
});
};
</script>
<input type="button" value="show content" onclick="Ajax();">
<p id="remote">the content on remote webpage</p>
Вот файл /var/www/html/do.phpdo.php
, он функционирует как прокси, получает целевой URL:
/var/www/html/test.html
и отправьте как remote
(показано в client.html), обратный вызов в client.html
.
<?php
header('Access-Control-Allow-Origin: *');
echo file_get_contents($_GET['url']);
?>
Файл /var/www/html/test.html
:
<p><b>you are welcome</b></p>
Чтобы ввести 127.0.0.1/client.html
в браузер и нажать кнопку show content
, я получу следующее:
the content on remote webpage<p><b>you are welcome</b></p>
Я хочу, чтобы ответ был переброшен в client.html
из do.php
, показан в двух видах:
отображается как чистый текстовый формат.
mytext.append(response.responseText);
Это моя попытка, неудача.
Результат, который я ожидаю в чистом текстовом формате:
the content on remote webpage
you are welcome
отображается в формате html.
Что я ожидаю, HTML-формат:
Что я получаю в формате с моим кодом:
the content on remote webpage<p><b>you are welcome</b></p>
Как мне исправить мой код mytext.append(response);
, может быть, здесь, для двух случаев?