В моем файле index.php у меня есть функция AJAX, которая будет вызывать функцию в другом файле php, которая должна увеличивать число и возвращать его всякий раз, когда я вызываю функцию AJAX.
Проблема в том, что число никогда не меняется. Я перепробовал много разных вещей. Слишком много, чтобы перечислить их всех, к сожалению.
Мой файл index.php.
<?php
session_start();
$_SESSION['views'] = 0;
?>
<?php include 'blogFunction.php';?>
<script type="text/javascript">
function doSomething()
{
$.ajax({ url: '/blogFunction.php',
data: {action: 'test'},
type: 'post',
success: function(output) {
document.getElementById("blog").innerHTML = '';
document.getElementById("blog").innerHTML = output;
}
});
}
</script>
<div class ="blog" id = "blog"></div>
my blogFunction.php
<?php
if(isset($_POST['action']) && !empty($_POST['action'])) {
$action = $_POST['action'];
switch($action) {
case 'test' : blogreturn();break;
}
}
function blogreturn(){
$_SESSION['views'] = $_SESSION['views']+ 1;
echo "THIS number is:" .$_SESSION['views'];
}
?>
Прямо сейчас выход всегда равен 1, когда я нажимаю кнопку, вызывающую функцию AJAX.
Любая помощь приветствуется.
Код в реальном времени: здесь
Спасибо всем за помощь. Одна проблема вниз, появляется новая проблема.
Расширенная функциональность:
session_start();
if(isset($_POST['action']) && !empty($_POST['action'])) {
$action = $_POST['action'];
switch($action) {
case 'test' : blogreturn();break;
}
}
function blogreturn(){
$request_url = "http://retrovate.tumblr.com/api/read?type=posts";
$xml = simplexml_load_file($request_url);
$a = $_SESSION['views'];
$b = $_SESSION['views'] +4;
echo "A = ".$a;
echo "B = ".$b;
$_SESSION['views'] = $_SESSION['views']+ 1;
for ($i = $a; $i <= $b; $i=$i+1) {
echo '<h2>'.$xml->posts->post[$i]->{'regular-title'}.'</h2>';
echo '<br>';
echo $xml->posts->post[$i]->{'regular-body'};
echo '<br>';
echo '<br>';
}
}
Проблема заключается в том, что я нажимаю кнопку один раз в мой сайт
, и он увеличивается и показывает новый контент. Я нажимаю снова, и он возвращается к 0. Если я нажимаю кнопку несколько раз быстро, кажется, это работает. Похоже, что Chrome имеет эту проблему, а Firefox нет.