Автоматическая загрузка div с помощью php-кода

#php #jquery #ajax

#php #jquery #ajax

Вопрос:

С помощью javascript (ajax) Я загружаю div каждые 7 секунд. В этом div мы ввели php-код, который проверяет, выполнено ли условие (простое if, if x = 1 {отображает другое изображение} else {отображать другое изображение}. Все работает должным образом, пока не будет выполнено условие. Он отображает изображение, которое мне нужно отобразить, только если выполнено условие, но через 2-3 секунды исчезает и больше не появляется. Почему это происходит?

 <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.0/jquery.min.js"></script>
<script type="text/javascript">
    var auto_refresh = setInterval(
        function () {
            $('#refresh').empty();
            $('#caseta').load('http://example.com/<?php echo $_SERVER['
                REQUEST_URI '];?> #caseta');
            return false;
        }, 7000);
</script>
  

PHP-КОД:

 <div id="caseta"> 

<?php
    $today = date("Y-m-d");
    $ip=$_SERVER['REMOTE_ADDR'];

    $select=mysql_fetch_array(mysql_query("SELECT * FROM `test` WHERE data='$today' AND  ip='$ip'"));

    $id=$select['id'];

    if($int_nou==$int_vechi 1){ ?>

        <div style="z-index:4;position: relative; ; top: 110px; left:170px; background-color: white; width:270px; height:150px;">
            <img src="img0.png" style="width:243px; height:56px; margin-left:13px;"  /> </a>

        </div>
    <?php   $update="UPDATE `test` set status='1' WHERE id='$id'";
    mysql_query($update);   }
    else { ?>
        <div style="z-index:4;position: relative; ; top: 110px; left:170px;     background-color: white; width:270px; height:150px;">
            <img src="img1.png" style="width:243px; height:56px; margin-left:13px;"  /> </a>

        </div>
    <?php }?>
</div>
  

Ответ №1:

Возможно, у вас возникла проблема с тем, как вы используете здесь одинарные кавычки, также после REQUEST_URI есть пробел в конце, которого там не должно быть. Вам также не должен быть нужен URL домена, поскольку он должен быть на том же хостинге, иначе проблема, с которой вы можете столкнуться, заключалась бы в межсайтовом скриптинге.

измените это:

  $('#caseta').load('http://example.com/<?php echo $_SERVER['
            REQUEST_URI '];?> #caseta');
  

к этому:

 $('#caseta').load("<?php echo $_SERVER['REQUEST_URI'];?> #caseta");
  

Дополнительная информация

измените это и посмотрите, что будет напечатано в консоли:

 $('#caseta').load("<?php echo $_SERVER['REQUEST_URI'];?> #caseta", function(data){
    console.log(data);
});
  

Это определит, действительно ли вы получаете что-либо возвращенное из вашего PHP-скрипта.

Комментарии:

1. Если это не поможет, пожалуйста, опубликуйте html и php.

2. извините, был занят. Я опубликовал правку, чтобы попытаться получить больше информации.