Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/454.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何从AJAX中获取数据并相应地显示/隐藏div_Javascript_Php_Jquery_Ajax_Get - Fatal编程技术网

Javascript 如何从AJAX中获取数据并相应地显示/隐藏div

Javascript 如何从AJAX中获取数据并相应地显示/隐藏div,javascript,php,jquery,ajax,get,Javascript,Php,Jquery,Ajax,Get,我正在编写一个PHP脚本,它回显一个表示未读消息数量的数字 我有以下代码,每30秒处理一次PHP setInterval(function (){ $.ajax({ url: "php/notifications_counter.php", cache: false, success: function(number){ $("#notifica

我正在编写一个PHP脚本,它回显一个表示未读消息数量的数字

我有以下代码,每30秒处理一次PHP

setInterval(function (){
            $.ajax({
                url: "php/notifications_counter.php",
                cache: false,
                success: function(number){
                $("#notification_counter").show();
                $("#notification_counter_number").text(number);
      }
    });
        },5010);
PHP回显应插入名为“#通知_计数器_编号”的div中的编号。事实上,数字被插入。但是出于某种奇怪的原因,php文件中的注释与数字一起也得到了回应?我不能让它正常工作

此外,我希望#notification_计数器在有回音数字时显示,但在没有回音数字时隐藏。为此,我尝试了以下代码:

...success: function(number){
                if (number > 0) {
                  $("#notification_counter").show();
                  $("#notification_counter_number").text(number);}
                else {$("#notification_counter").show();}
  }
这也不行:(div总是被隐藏,即使PHP输出的数字大于0。希望你们能帮上忙

更新:这是我的php文件:

<!--
blabla commenting, so this gets visible as text in DIV as well. Strange...

!-->

    <?php

    include "config.php";

    //Count unread messages from database
    $Number_Query = mysqli_query ($mysqli, "SELECT * FROM notifications WHERE Notification_Read='0' "); 

    $Notification_Count = mysqli_num_rows($Number_Query);

    if ($Notification_Count > 0) {
    echo "$Notification_Count"; }

    //Close connection
    mysqli_close($mysqli);

    ?>

是一个HTML注释,输出到浏览器,只需更改为php注释:

<?php
/*
blabla commenting, so this gets visible as text in DIV as well. Strange...

*/

include "config.php";

因此,当您通过ajax获取页面时,它将返回整个页面,而不仅仅是您在浏览器中看到的内容。因此
我们需要查看通知\u counter.phpBTW:不要使用
setInterval
,而是使用
setTimeout
,我们可以看到您在php文件中如何进行注释吗?唯一的显示方式是它是否真的存在从理论上来说,这是网页的回音。如果你直接点击
php/notifications\u counter.php
url,你会在网页上看到什么?添加了php文件。但是我确信它工作正常。数字会输出到网页上,但问题是注释也会被输出……这仍然会失败,因为他的javascript需要一个数字和一个数字对其执行计算
if(number>0).
谢谢!将尝试此操作
$Notification_Count = mysqli_num_rows($Number_Query);
header('Content-Type: application/json');
echo json_encode(array('count'=>$Notification_Count));


//javascript
success: function(data){
   if (data.count > 0)...