使用jQuery的自动PHP通知
我已经为我的网站购买了一个通知主题,我正在尝试从网站获取一些数据,以通知登录的人 AJAX/jQuery/Javascript:使用jQuery的自动PHP通知,php,javascript,jquery,ajax,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: f
<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>
var refreshId=setInterval(函数(){
$.ajax({
类型:“POST”,
url:“cron/notify.php”,
cache:false,
成功:功能(数据){
$.smallBox(
{
变量id=数据[5],
标题:“新票”,
内容:“已创建新票证。票证ID:“+ID+”这将在4秒钟内关闭。”,
颜色:“000”,
超时:4000
});
}
设置间隔(获取新的,1000);
PHP
调试AJAX可能是一件痛苦的事。你必须有一个清晰的理解 零件如何装配在一起:
- 在浏览器中,开发人员工具/firebug:检查“网络”选项卡中的请求是否确实已发送
- 在浏览器中:尝试直接打开后端的URL——在本例中为“cron/notify.php”——它是否显示您期望的数据
- 在javascript代码中:您只处理javascript中的“成功”,请尝试为错误添加函数
- 在浏览器控制台中:尝试启动$.smallBox()-它是否实际显示任何内容
- 在javascript代码中:在将数据发送到smallBox之前:使用console.log(数据)将其转储到控制台,以检查其是否具有预期值
有关如何使用firebug调试AJAX的教程,请参阅。问题在于,您没有循环所有来自db的值。之后,您将以
json
格式发送值,但在接收端没有解析。好的,我已经让它工作了,但通过var id=的数据[4]只拉“2”
<?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>