Javascript 是否可以通过xmlhttprequest加载内容和变量?

Javascript 是否可以通过xmlhttprequest加载内容和变量?,javascript,php,variables,xmlhttprequest,Javascript,Php,Variables,Xmlhttprequest,是否可以使用xmlhttprequest从*.php文件加载内容和变量 我有一个index.php: <script> function loadsite() { var xhttp = new XMLHttpRequest(); xhttp.onreadystatechange = function() { if (this.readyState == 4 && this.status == 200) { do

是否可以使用xmlhttprequest从*.php文件加载内容和变量

我有一个index.php:

<script>
function loadsite() {
    var xhttp = new XMLHttpRequest();
    xhttp.onreadystatechange = function() {
        if (this.readyState == 4 && this.status == 200) {
            document.getElementById("divrequest").innerHTML = this.responseText;
        }
    };
    xhttp.open("GET", "siterequest.php", true);
    xhttp.send();
}
$(document).ready(loadsite());

</script>

<div id="divrequest"></div>

我将获取整个页面的代码。

XMLHttpRequest
向服务器发送HTTP请求以访问所需页面。PHP是在将响应数据发送回您之前执行的,在这种情况下,它被转换为HTML。因此,使用这种JavaScript方法无法获取变量。这在您收到数据之前就发生了。

假设您谈论的是存储在目标DOM中的变量,那么这是完全可能的。解析页面内容后,只需提取要分配给变量的部分。为了准确地向您展示如何做到这一点,您需要提供您试图获取的代码,并让我们知道您想要提取的变量。如果您试图提取
GET
变量,这也是一个错误。PHP变量本身无法提取,但是如果输出它们,可以从DOM.split()中提取它们,从整个页面中提取JSON,然后解析它。或者使用$.load(),eval()s
会自动阻止它们,它们应该用
echo json_encode(数组($var1,$var2,$var3))显示使用fetch,它是2k17;)您需要某种类型的delimeter、换行符、保留字符等。例如:
echo'#'<代码>JSON.parse(xhttp.responseText.split(“#”)[1])
,其中
#
并没有出现在数据本身中。很抱歉,javascript是一种动态语言,它使用可扩展的词法继续运行scope@dandavis这个答案错了吗?如果是这样的话,这难道不意味着我可以获得有关PHP文件的信息,该文件生成我作为客户机接收的HTML,只使用常规HTTP请求作为通信手段吗?我是否误解了这个问题?我以为OP在问他是否可以从他请求使用的页面中检索PHP变量XMLHttpRequest@Max不,我想从PHP文件中“提取”变量。我知道,我无法检索变量e、 g.回显*.php页面中的变量并获取它们所包含的内容。如果这些变量通过ajax从php发送到js,并且js正确地处理了它,那么您确实可以在加载后定义新的变量,并且这些变量可以由php提供values@undefined好了,现在我明白你的意思了。我误解了这个问题。是的,这应该是可能的,而且你似乎已经在讨论它了,所以我就不谈了
<?php
    echo "some dynamic content";
    echo json_encode(array($var1,$var2,$var3));
    echo "more dynamic content";
?>
var myvariable = JSON.parse(JSON.stringify(xhttp.responseText));
console.log(myvariable);