Аякс работает странно - PullRequest
0 голосов
/ 12 июня 2018

Я довольно новичок в вызовах 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 голосов
/ 12 июня 2018

Кажется, вы перегружаете сервер своим циклом.По сути, вы отправляете запрос GET снова и снова, что не очень хорошая идея.Вместо этого вам следует подождать, пока пользователь сделает заказ, прежде чем отправлять запрос.Что-то вроде:

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

А затем удалите цикл из вашего javascript, чтобы он был похож на:

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

Я не уверен на 100%, что вы пытаетесь сделать, поэтомуЯ оставил свой ответ немного расплывчатым, но я надеюсь, что это приведет вас туда, куда вы хотите.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...