1

私は文字通りAjaxでプログラミングを始めたばかりで、これを機能させることができません。

これが私がこれまでに持っているものです:

var oldAction = '';

function updateCheck() {
  $.ajax({
    url: 'check_status.php',
    success: function (data) {
      if (data.length != oldAction) {
        if (data.length == '4') {
          playSong();
        } else {
          pauseSong();
        }
      }

      oldAction = data.length;
    }
  });
}

setInterval('updateCheck();', 1000);

これが機能しない理由を誰かが知っていますか?

ありがとう

4

2 に答える 2

2

もちろん。 length()整数を探していますが、文字列と比較しています。

oldAction本当に文字列にする必要がある場合は、次のようにする必要があります。

if (data.length != Number(oldAction)) {
  if (data.length == 4) {
    playSong();
  } else {
    pauseSong();
  }
};
于 2012-09-01T23:46:36.917 に答える
1

これを試して:

function updateCheck() {
  var
    oldAction = 0,
    callAjax = function () {
      $.ajax({
        url: 'check_status.php',
        success: function (data) {
          if (data.length != oldAction) {
            (data.length == 4) ? playSong() : pauseSong();
          }

          oldAction = data.length;
        }
      });
    };

  setInterval(callAjax, 1000);
}

updateCheck();

​
于 2012-09-01T23:55:21.833 に答える