gpt4 book ai didi

javascript - 来自 JavaScript 函数的 Ajax 异步和循环 PHP 请求

转载 作者:行者123 更新时间:2023-12-03 00:31:27 24 4
gpt4 key购买 nike

愚蠢的问题。我在同一目录中有两个页面,“Index.html”和“func.php”。我试图每 2 秒调用一次 PHP 页面,获取它的 ECHO 并将其显示在 paragraph 元素上。没有错误,但是段落文本根本不会改变(并保持0),代码如下:

Index.html

<html>
<body>

<?php
int cont = 0;
?>

<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js" type="text/javascript"></script>
<script>

req()
{
$.ajax({url: "func.php"}, success: function(data) {
document.getElementById("p1").innerHTML = data;
});
setInterval(req(), 2000);
};

$('document').ready(function(){
setInterval(req(), 2000);
});

</script>

<p id="p1">0</p>
</body>

func.php

<?php
cont++;
echo cont;
?>

有什么帮助吗?

最佳答案

解决了上面第一条评论中提到的 PHP 语法问题后,javascript 也存在问题:func.php 后面的 } 放错了位置,需要和需要而是放在 ajax 回调函数的末尾。 req() 函数中不需要有 setInterval(),因为这是在调用函数时满足的。在 req() 函数定义之前还缺少一个 function

要实现此目的,您需要使用 PHP session ,如第二条评论中所述。实际上您不需要index.html 文件中的PHP 代码。这是一个可能的解决方案:

index.html:

<html>
<body>

<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js" type="text/javascript"></script>

<script>

function req()
{
$.ajax({url: "func.php", success: function(data) {
document.getElementById("p1").innerHTML = data;
}});

};

$('document').ready(function(){
setInterval(function(){req();}, 2000);
});

</script>

<p id="p1">0</p>
</body>
</html>

func.php:

<?php session_start();

if(!isset($_SESSION['cont'])){
$_SESSION['cont'] = 0;}
else
{$_SESSION['cont'] += 1; }

echo $_SESSION['cont'];

?>

关于javascript - 来自 JavaScript 函数的 Ajax 异步和循环 PHP 请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53849050/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com