1

我为我的网站购买了一个通知主题,我正在尝试从网站获取一些数据以通知登录的人。

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 没有错误,但通知框实际上是按钮框。它们可以修改吗?

4

1 回答 1

0

调试 AJAX 可能很痛苦。您必须清楚地了解这些部分是如何组合在一起的:

  1. 使用 $.ajax 将 ajax 请求发送到服务器
  2. 服务器上的 cron/notify.php 生成一些数据并将其发送回
  3. 使用数据调用您为“成功”定义的函数
  4. 它调用 smallBox 来显示数据 -

所以有几个地方可能会出错

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

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

于 2013-04-27T07:33:29.727 回答