包含页面后我面临ajax错误(未找到)

时间:2016-08-19 04:39:36

标签: javascript php jquery ajax jquery-ui

我正在研究通知系统。所以我关注这个博客(http://www.phptutorials.club/ajax-notification-in-php-with-example/)。 请参阅代码。

它运行正常并且它给了我一个通知,但问题是如果我将页面包含在另一个index.php页面中,那么它给了我(错误(未找到)。

我将index.php重命名为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" ?>

1 个答案:

答案 0 :(得分:0)

首先检查您的包含路径是否正确。尝试:

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

此外,请检查ajax调用中select.php的路径

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

其次,您应该考虑将notification.php拆分为三个部分:

  • 将CSS放入主.css文件
  • JavaScript代码应位于notification.js
  • 您可以在notification.php中留下的HTML代码

在包含.css和.js文件后,在index.php中包含notification.php。