仅在数据为真时才将数据发送到div标签

时间:2015-06-18 19:07:09

标签: javascript php jquery html ajax

我有一个ajax代码,它以秒为单位获取时间并将其传递给div标签进行显示。问题是,如果它通过if语句测试以节省空间,我只希望它将数据传递给div标签。例如,如果秒小于30,我只希望它将数据传递给div标签,但如果它没有将任何内容传递给div标签,则div标签显示为null。我希望它保持在30秒标记而不是ajax函数必须将数据传递给div标记,而不是显示为null。我不知道我说的话对你有什么意义,但如果确实如此,有没有办法实现我想做的事情?谢谢。

testing1.php

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script>

<script type = "text/javascript"> 

function timeoutAjax(url,id,timeout) {

      $.ajax({
           type: "POST",
           url: url,
           error: function(xhr,status,error){alert(error);},
           success:function(data) {
             document.getElementById( id ).innerHTML = data;
             setTimeout(function() { timeoutAjax(url,id,timeout); }, timeout);
           }

      });

}

timeoutAjax("testing2.php","seconds",1000);

</script>

<div id = "seconds"></div>

testing2.php

<?php

$date = date("s");

if ($date < 30){
echo $date;
}

?>

我也不想要下面的内容,因为这一点的全部意义在于节省空间,如果我还是回应它,它会将数据传递给div标签。我不想将数据传递给div标签,如果它没有传递if语句,但我也不希望输入为空,因为如果没有传递给div标签。有没有办法像以前那样保持div标签?

testing2.php

<?php

$date = date("s");

if ($date < 30){
echo $date;
}
else {
echo 30;}

?>

1 个答案:

答案 0 :(得分:0)

之后您可以添加else语句,echo 30。 而不是将其设置为空,null,您可以将其设置为30。

if($date < 30){
  echo $date;
}else{
  echo 30;
}