Javascript jQuery.get()在本地主机上返回null的解决方案?

Javascript jQuery.get()在本地主机上返回null的解决方案?,javascript,jquery,Javascript,Jquery,在本地主机上测试时,让jQuery正常工作有问题 给我带来麻烦的功能: function poll() { $.get(location.href, function(data) { var x = $('#datadump', data); alert(x.html()); }); } 其中location.href=http://localhost/polltest.php 该警报仅返回null,而不是

在本地主机上测试时,让jQuery正常工作有问题

给我带来麻烦的功能:

function poll() {
        $.get(location.href, function(data) {
            var x = $('#datadump', data);
            alert(x.html());
        });
    }
其中
location.href=http://localhost/polltest.php

该警报仅返回
null
,而不是PHP的
rand
函数生成的随机数。localhost/polltest.php的源代码是:

<!DOCTYPE html>
<html>
<head>
    <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
    <script type="text/javascript">
        function poll() {
            $.get(location.href, function(data) {
                var x = $('#datadump', data);
                alert(x.html());
            });
        }
    </script>
</head>
<body onload="poll();">
    <div id="datadump">
        <?php
            $val = rand(0, 100);
            echo $val;
        ?>
    </div>
</body>
</html>

函数poll(){
$.get(location.href,函数(数据){
变量x=$(“#数据转储”,数据);
警报(x.html());
});
}
如果您能帮我找到一种方法,我将不胜感激。

您能试试这种方法吗

<head>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
<script type="text/javascript">
    $(document).ready(function(){
        var x = $('#ads');
        alert(x.html());

         $.get(location.href, function (data) {
            var x = $('#ads', data);
            alert(data);
            alert(x.html());
        });
    });
</script>
</head>
<body>
  <div id="datadump">
    <?php
        $val = rand(0, 100);
        echo $val;
    ?>
  </div>
</body>

$(文档).ready(函数(){
var x=$(“#ads”);
警报(x.html());
$.get(location.href,函数(数据){
变量x=$(“#ads”,数据);
警报(数据);
警报(x.html());
});
});
更新:我对脚本做了一些修改,与你原来的帖子有点类似。这对我来说很好。

你能用这种方法试试吗

<head>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
<script type="text/javascript">
    $(document).ready(function(){
        var x = $('#ads');
        alert(x.html());

         $.get(location.href, function (data) {
            var x = $('#ads', data);
            alert(data);
            alert(x.html());
        });
    });
</script>
</head>
<body>
  <div id="datadump">
    <?php
        $val = rand(0, 100);
        echo $val;
    ?>
  </div>
</body>

$(文档).ready(函数(){
var x=$(“#ads”);
警报(x.html());
$.get(location.href,函数(数据){
变量x=$(“#ads”,数据);
警报(数据);
警报(x.html());
});
});

更新:我对脚本做了一些修改,与你原来的帖子有点类似。它对我来说很好。

可以有多种方法来实现id为datadump的div的值

存在的方式之一

   function poll() {
        $.get(location.href, function(data) {
            x = $(data).filter('#datadump');
            console.log(x);
        });
    }
您失败的原因是:

当您有一个包含
标记的HTML字符串,并且您尝试

$(string)
这些元素将被忽略。只有那些可以放在div中的元素才有效。在报纸上读

当传入复杂的HTML时,某些浏览器可能不会生成DOM 它完全复制了提供的HTML源代码。如前所述,我们使用 浏览器的.innerHTML属性来解析传递的HTML并插入 将其导入当前文档。在此过程中,一些浏览器 过滤掉某些元素,如

元素。因此,插入的元素可能不具有代表性
传递的原始字符串的


这个问题已经在这个链接上详细讨论过:

可以有多种方法来实现id为datadump的div的值

存在的方式之一

   function poll() {
        $.get(location.href, function(data) {
            x = $(data).filter('#datadump');
            console.log(x);
        });
    }
您失败的原因是:

当您有一个包含
标记的HTML字符串,并且您尝试

$(string)
这些元素将被忽略。只有那些可以放在div中的元素才有效。在报纸上读

当传入复杂的HTML时,某些浏览器可能不会生成DOM 它完全复制了提供的HTML源代码。如前所述,我们使用 浏览器的.innerHTML属性来解析传递的HTML并插入 将其导入当前文档。在此过程中,一些浏览器 过滤掉某些元素,如

元素。因此,插入的元素可能不具有代表性
传递的原始字符串的


这个问题已经在这个链接上详细讨论过了:

您是否试图将$.get()的结果添加到
?此时,我只想获取#datadump(php中
rand(01000);
的输出)的内部HTML。您是否试图添加$.get()的结果要
?此时,我只想获取#datadump的innerHTML(php中
rand(01100);
的输出)。这将破坏使用$.get()的目的,因为这只获取最初加载的#datadump的innerHTML。这将破坏使用$.get()的目的,因为它只获取最初加载的#datadump的innerHTML。谢谢!这起作用了。但是,我不相信您失败的原因是正确的,因为我最初尝试的方法在localhost以外的站点上也有效。@AlexL我希望看到这种情况发生在其他地方。我在回复中还添加了相关SO讨论的链接。谢谢!这起作用了。但是,我不相信您失败的原因是正确的,因为我最初尝试的方法在localhost以外的站点上也有效。@AlexL我希望看到这种情况发生在其他地方。我在回复中还添加了相关SO讨论的链接。