使用jQuery自动PHP通知

时间:2013-04-27 07:30:13

标签: php javascript jquery ajax

我已经为我的网站购买了通知主题,我正试图从网站上获取一些数据,以通知登录的人。

AJAX / jQuery的/使用Javascript:

<script type="text/javascript">
var refreshId = setInterval(function(){
    $.ajax({
        type: "POST",
        url: "cron/notify.php",
        cache: false,
        success: function(data){
            $.smallBox( 
        {
            var id = data[5],
            title: "New Ticket",
            content: "A new ticket has been created. Ticket ID: <strong>" +id+"</strong><p><h6>This will close in 4 Seconds.</h6>",
            color: "#000",
            timeout: 4000
        });
    }
    setInterval(get_new, 1000);
</script>

PHP

<?php
    mysql_connect(REDACTED FOR SECURITY) or die(mysql_error());
    mysql_select_db(REDACTED FOR SECURITY) or die(mysql_error());
    $query = mysql_query("SELECT * FROM tickets WHERE DATE_ADD(submitDate, INTERVAL 1 MINUTE) < CURTIME()  AND currentStatus='Open'");
    $array = mysql_fetch_row($result);

    echo json_encode($array);
    ?>

我没有遇到任何问题或错误。

更新:

<script type="text/javascript">
var refreshId = setInterval(function() {
    $.ajax({
        type: "POST",
        url: "cron/notify.php",
        cache: false,
        success: function(data){
            $("#botSimple1").click(function(){
            $.smallBox( 
        {
            title: "New Ticket",
            content: "A new ticket has been created. Ticket ID: <strong>" +data[5]+"</strong><p><h6>This will close in 4 Seconds.</h6>",
            color: "#000",
            timeout: 4000
        });
            });
        }
    });
});

</script>

这是新脚本,JavaScript没有错误,但通知框实际上是按钮。他们可以修改吗?

1 个答案:

答案 0 :(得分:0)

调试AJAX可能很痛苦。你必须清楚地了解 部件如何组合在一起:

  1. 使用$ .ajax将ajax请求发送到服务器
  2. 服务器上的
  3. cron / notify.php生成一些数据并将其发回
  4. 使用数据
  5. 调用您为“成功”定义的功能
  6. 它调用smallBox来显示数据 -
  7. 所以有几个地方可能出现问题

    • 在您的浏览器开发者工具/ firebug中:如果实际发送了请求,请在“网络”标签中查看
    • 在浏览器中:尝试直接打开后端的URL - 在本例中为“cron / notify.php” - 它是否显示了您期望的数据?
    • 你的javascript代码中的
    • :你只是在你的javascript中处理“成功”,尝试添加错误函数
    • 在您的浏览器控制台中:尝试启动$ .smallBox() - 它实际上是否显示任何内容
    • 在您的javascript代码中
    • :在将数据发送到smallBox之前:使用console.log(数据)将其转储到控制台以检查它是否具有预期值

    有关如何使用firebug调试AJAX的教程,请参阅http://www.drdobbs.com/article/print?articleId=196802787&siteSectionName=tools