Ajax工作奇怪

时间:2018-06-12 11:55:19

标签: javascript ajax

我很擅长制作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();
});

1 个答案:

答案 0 :(得分:-1)

您似乎正在使用循环重载服务器。基本上,你一遍又一遍地发送GET请求,这不是一个好主意。相反,您应该在发送请求之前等待用户订购。类似的东西:

<button onclick="getContent()">SUBMIT ORDER</button>

然后从你的javascript中删除循环更像是:

...
success: function(data) {
   location.reload();
}
....

我并不是100%肯定你正在尝试做什么,所以我的回答有点模糊,但我希望这能让你到达目的地。