繁体   English   中英

javascript通知检查器脚本未捕获参考错误

[英]javascript notification checker script Uncaught Reference Error

我有此通知检查器,但我不知道此js代码有什么问题,我在checkMessage()上出错:未捕获的参考错误:未定义checkMessage

js代码:

function checkMessage(){

if (window.XMLHttpRequest) 
  {
  xmlhttp=new XMLHttpRequest();
  }
else
  {
  xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
  }

xmlhttp.onreadystatechange=function() //when the request is submitted...
  {
  if (xmlhttp.readyState==4 && xmlhttp.status==200 //...and everything is ok...
    {
        if(xmlhttp.responseText>0){ // if the response text is greater than 0

            document.title="("+xmlhttp.responseText+")"+"My Social Network - Welcome"; 

            document.getElementById('checkMsg').innerHTML="<b>" + xmlhttp.responseText+" Notifications</b>";
        }
        else 
            document.title="My Social Network - Welcome";

            document.getElementById('checkMsg').innerHTML="No notifications";
    }
  }

xmlhttp.open("GET","checkMessage.php?user_id="+"1",true); 
xmlhttp.send();
}

checkmessage.php代码:

<?php
        include 'dbm.php'; //database settings from an external file

        $user = $_SESSION['user'];

        $get_count_messages = mysql_query("SELECT message FROM notifications ");
        $row = mysql_num_rows($get_count_messages); // count how many rows the query returned

        echo "$row"; //return the value
?>

html代码:

<html>
    <head>

        <script type="text/javascript" src="notifications.js"></script>
        <script type="text/javascript">
            setInterval("checkMessage()", 1000);
        </script>
    </head>
    <body>
        <div id="checkMsg"></div>
    </body>
</html>

我认为您的setInterval函数应如下所示:

setInterval(checkMessage, 1000);

因为setInterval需要函数作为参数。

这只是一个简单的示例,可以在通知数量之间有所作为

 if (xmlhttp.readyState==4 && xmlhttp.status==200 //...and everything is ok...
 {    
     var title = "";
     var message;
     if(xmlhttp.responseText > 0)
     {
        title += "(" + xmlhttp.responseText + ")";
        if(xmlhttp.responseText > 1)
           message = "<b>" + xmlhttp.responseText + " Notifications</b>";
        else
           message = "<b>" + xmlhttp.responseText + " Notification</b>";
     }
     else
         message = "No notifications";

     title += "My Social Network - Welcome";

     document.title = title; 
     document.getElementById('checkMsg').innerHTML= message;
 }

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM