我很擅长制作AJAX,如果这是一个“愚蠢”的问题,请原谅我。我试着保持简短。当订单通过时会触发此AJAX调用,并且我想通过播放简短的音频剪辑来通知订单已经通过。现在,只要音频仍在播放,并且我下订单,它就可以通过刷新页面并显示新订单+播放音乐来完美地工作。但是,如果音乐已经结束并且我之后下订单,则页面不会刷新并且没有任何反应。如果我需要澄清任何事情,请告诉我!
var loop = 0;
var audio = new Audio("ex.mp3");
function getContent(timestamp) {
var queryString = {
'timestamp': timestamp
};
$.ajax({
type: 'GET',
url: 'Pizza.php',
data: queryString,
success: function(data) {
if (loop == 1) {
location.reload();
}
var obj = jQuery.parseJSON(data);
audio.play();
loop = 1;
getContent(obj.timestamp);
}
});
}
$(function() {
getContent();
});
答案 0 :(得分:-1)
您似乎正在使用循环重载服务器。基本上,你一遍又一遍地发送GET请求,这不是一个好主意。相反,您应该在发送请求之前等待用户订购。类似的东西:
<button onclick="getContent()">SUBMIT ORDER</button>
然后从你的javascript中删除循环更像是:
...
success: function(data) {
location.reload();
}
....
我并不是100%肯定你正在尝试做什么,所以我的回答有点模糊,但我希望这能让你到达目的地。