用户在php中将新订单插入数据库时​​创建通知

时间:2013-05-13 03:54:58

标签: jquery

我最近开发了一个网上购物网站。我的问题是如何在将新订单插入MySQL时创建通知以在管理页面发出警报。 此通知将在网站的管理页面上显示为图标编号,以便在管理员打开网站时,他们将知道客户已下达新订单。

我知道我们必须使用javascript ajax,但我不知道如何开始。

我有一些示例代码:

refreshInterval = 500
refreshTimeout = setTimeout(getNotificationCounts, refreshInterval);

function getNotifications() {
  $.ajax({
    url: 'path_to_your_php',
    type: 'POST',
    data: //put for example user_id but it cvan be handled by sesion as    
    dataType: 'json',
    success: function (data) {
      alert('You have' + data.total + ' new messages')
      refreshTimeout = setTimeout(getNotificationCounts, refreshInterval);
    }
  });
}

1 个答案:

答案 0 :(得分:1)

您的问题有两种选择。 您正在寻找的是持久的http连接。

  1. 如果您不介意解决方案的浏览器支持,您可以使用 WebSockets的。它们是html5 api的一部分,但并不是所有人都支持它们 浏览器,它是一个新的东西,所以只有新版本的支持。 点击此处查看更多http://www.html5rocks.com/en/tutorials/websockets/basics/
  2. 第二种选择是长轮询。基本的想法是客户做的 ajax定期调用服务器但不立即返回,如果服务器有响应,或者已达到特定时间,则返回。您也可以进行简单的轮询,但这不是一个好习惯,因为大部分时间都没有理由对服务器进行大量调用。长轮询技术也称为彗星技术。 仔细研究一下,然后再提出一些更有针对性的问题。
  3. How do I implement basic "Long Polling"?

    在这里,您可以找到您想要做的基本示例。它也很详细。