使用AJAX调用JavaScript代码(在PHP中)

时间:2017-08-26 11:58:46

标签: javascript php jquery ajax

test2.php(临时名称):

    <?php 
if ($_SESSION["dbrows_now"] > $_SESSION["dbrows_prev"]) {
echo "<p>Previous Rows</p>";
echo $_SESSION["dbrows_prev"];
echo "<p>Now</p>";
echo $_SESSION["dbrows_now"];
echo "<h3>The rows have changed as you can see</h3>";
//$_SESSION["dbrows_prev"] = $_SESSION["dbrows_now"];
echo "
<script type='text/javascript'>
window.setInterval(function() {
  var elem = document.getElementById('chat');
  elem.scrollTop = elem.scrollHeight;
}, 1);
</script>
";
}
?>

使用AJAX / JavaScript调用代码的JavaScript:

//Function that updates new rows
function newrows(str) {
    if (str == "") {
        return;
    } else { 
        if (window.XMLHttpRequest) {

            xmlhttp = new XMLHttpRequest();
        } else {

            xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
        }
        xmlhttp.onreadystatechange = function() {
            if (this.readyState == 4 && this.status == 200) {
                document.getElementById("test").innerHTML = this.responseText;
            }
        };
        xmlhttp.open("GET","/test2.php?success=true"+str,true);
        xmlhttp.send();
    }
}

//Updates new rows every x seconds
setInterval('newrows()',5000);

基本上我正在开发一个非常简单的聊天系统,我使用PHP计算行数,如果它们改变了,那么div将滚动到页面的底部。

问题是我在index.php页面上有div,代码在example.php页面上。

出于某种原因,如果我查看我的代码的来源,我可以看到JavaScript代码已经回显到index.php页面(但是代码不起作用,但是如果我将它粘贴到我的索引中页面直接它确实有效)

注意: 我不能将代码直接放入索引页面,因为我只希望它在添加新消息时执行代码(好一个新行)(如果我这样做的话,它只会一直滚动到底部24/7 )

我对WebSockets了解所以请不要一直告诉我这个系统有多糟糕!

非常感谢!

附注:我对PHP非常擅长,但知道JavaScript很少,这就是为什么我的代码制作这样的系统是如此糟糕...

编辑:我只是想让每个人都知道我对任何其他Jquery或JavaScript解决方案持开放态度来执行PHP代码,谢谢!

0 个答案:

没有答案