2014-05-21 62 views
0

我有以下的javascript这应该弹出一个通知,如果PHP脚本波纹管返回一个MySQL选择计数结果大于0的用户:的Javascript AJAX如果然后其他

<script> 
     $(document).ready(function() { 
      function update() { 
       $.ajax({ 
        type: 'POST', 
        url: '../ajax/alert/notification.php', 
        timeout: 1000, 
        success: function(data) { 
         $("#notification-alert-main").text(data); 
         $("#notification-alert-detailed").text(data); 
         if (data > 0) { 
          $("#notification-alert-message").innerHTML('<i class="fa fa-warning danger"></i> New alert has been detected'); 
         } 
         window.setTimeout(update, 5000); 
        }, 
       }); 
      } 
      update(); 
     }); 
    </script> 

PHP脚本:

<?php 
    include('../../db.php'); 
    $queryCountUnreadAlerts = $bdd->prepare("SELECT COUNT(*) Nb FROM exp_alert WHERE ale_read = 0;"); 
    $queryCountUnreadAlerts->execute(); 
    $dataCountUnreadAlerts = $queryCountUnreadAlerts->fetch(); 
    $queryCountUnreadAlerts->closeCursor(); 
    echo(intval($dataCountUnreadAlerts['Nb'])); 
?> 

网页浏览器报告我的错误:

[Error] TypeError: 'undefined' is not a function (evaluating '$("#notification-alert-message").innerHTML('<i class="fa fa-warning danger"></i> New alert has been detected')') success (index.php, line 230) l (jquery.min.js, line 4) fireWith (jquery.min.js, line 4) k (jquery.min.js, line 6) (anonymous function) (jquery.min.js, line 6)

我怀疑是一个错误的变量类型,但我仍然一直在用整数。

+2

'innerHTML'是一个DOM节点属性,而不是一个jQuery方法,使用'.html('...')' –

回答

3

使用.html()代替innerHTML

或者

变化遵循

$("#notification-alert-message").get(0).innerHTML="<i class='fa fa-warning danger'></i> New alert has been detected";

+0

显示你从帖子中得到的回应..'data'中的值 – Madhu