#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. извините, был занят. Я опубликовал правку, чтобы попытаться получить больше информации.