2016-08-19 27 views
0

我正在處理通知系統。所以我正在關注這個博客(http://www.phptutorials.club/ajax-notification-in-php-with-example/)。 請參閱代碼。在包含頁面之後,我正面臨ajax錯誤(未找到)

它的工作很好,它給我的通知,但問題是,如果我包括在另一index.php頁面的頁面,那麼它給我(錯誤(未找到)。

我改名的索引。 php as notification.php,並將其包含在我的網站index.php頁面中,所以在包含它給我一個錯誤,但沒有包括它的工作正常。

請建議我知道PHP,但不知道ajax和jquery,js。

請參閱我的代碼如下。

notification.php

<style> 
    #notification_count { 
     padding: 0px 3px 3px 7px; 
     background: #cc0000; 
     color: #ffffff; 
     font-weight: bold; 
     margin-left: 77px; 
     border-radius: 9px; 
     -moz-border-radius: 9px; 
     -webkit-border-radius: 9px; 
     position: absolute; 
     margin-top: -1px; 
     font-size: 10px; 
    } 
</style> 

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.2.6/jquery.min.js" type="text/javascript" charset="utf-8"></script> 
<script type="text/javascript" charset="utf-8"> 
    function addmsg(type, msg) { 

     $('#notification_count').html(msg); 

    } 

    function waitForMsg() { 

     $.ajax({ 
      type: "GET", 
      url: "select.php", 

      async: true, 
      cache: false, 
      timeout: 50000, 

      success: function(data) { 
       addmsg("new", data); 
       setTimeout(
        waitForMsg, 
        1000 
       ); 
      }, 
      error: function(XMLHttpRequest, textStatus, errorThrown) { 
       addmsg("error", textStatus + " (" + errorThrown + ")"); 
       setTimeout(
        waitForMsg, 
        15000); 
      } 
     }); 
    }; 

    $(document).ready(function() { 

     waitForMsg(); 

    }); 
</script> 




<span id="notification_count"></span> 
<a href="#" id="notificationLink" onclick="return getNotification()">Notifications</a> 
<div id="HTMLnoti" style="textalign:center"></div> 



<script> 
</script> 

select.php

<?php include "../../includes/db.php" ?> 

<?php 
     $sql = "SELECT * from comments where comment_status = 'unapproved'"; 
     global $connection; 

$select_comments= mysqli_query($connection, $sql) or die('Could not look up user information; ' . mysqli_error($connection));     

     $count = mysqli_num_rows($select_comments); 
     echo $count; 
     mysqli_close($connection); 
?> 

所以包括index.php.it的給我一個錯誤notification.php文件之後。 但不包括此文件。它工作正常。

<!-- Notification panel--> 
        <?php include "../includes/notification.php" ?> 
+0

添加您的代碼 –

+0

請發佈您的示例代碼,使我們可以幫助您 –

+0

代碼已添加。請參閱 –

回答

0

首先檢查您的包含路徑是否正確。嘗試:

<?php include "../../includes/notification.php" ?> 

此外,檢查路徑select.php在你的Ajax調用

$.ajax({ 
    type: "GET", 
    url: "select.php", 
    ... 

其次,你應該想想分裂notification.php分爲三個部分:

  • 放CSS成主要.css文件
  • JavaScript代碼應該位於notification.js中
  • 你可以在notification.php中留下的HTML代碼

然後在你包含.css和.js文件後在index.php中包含notification.php。

+0

作爲一名PHP開發人員,我希望看到PHP邏輯也從html中分離出來。 – jedifans

+0

我同意。雖然在notification.php中沒有注意到php代碼。 – cakan