Ajax Async и Cyclic PHP запрос из функции JavaScript

Дурацкий вопрос. У меня есть две страницы «Index.html» а также «func.php«в том же каталоге.
Я пытаюсь вызывать страницу PHP каждые 2 секунды, получить ее ECHO и отобразить на параграф элемент.
Нет ошибки, но параграф текст просто не изменится (и останется 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;
?>

Любая помощь?

0

Решение

С учетом проблем синтаксиса PHP, упомянутых в первом вышеупомянутом комментарии, также есть проблемы с javascript: } после func.php находится не на своем месте и должен и должен быть помещен в конец функции обратного вызова ajax. Там нет необходимости иметь setInterval() в req() функция, потому что это обслуживается, когда функция вызывается. Также отсутствует function до определения req() функция.

Для достижения этой цели вам нужно будет использовать сеансы PHP, как упомянуто во втором комментарии. На самом деле вам не нужен код PHP в файле index.html. Вот возможное решение:

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'];

?>
1

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector