识别Ajax请求的值何时增加

时间:2015-08-03 14:53:47

标签: ajax get

我使用Ajax请求从php文件中调用数字。目前我反复将这些数字添加到页面中,如此...

Raspberry Pi 2

这个数字每小时左右会增加,目前输出看起来像是:

  

11 11 11 11 11 11 11

我真正想做的是在数字增加时触发Jquery函数。我一直试图在网上找到答案,但我并不完全确定要搜索的内容。

  • 数字不会增加" 1"例子是" 11"下一个数字会更大,但可能是100或328932。
  • 每个号码都不一定需要附加到页面上。

如何检测数字何时增加以及何时触发Jquery函数?

3 个答案:

答案 0 :(得分:1)

您可以将值存储在ajax调用范围内可用的变量中。

$(document).ready(function () {
    // variable to store current value
    var currentValue = 0;
    setInterval(function() {
        $.ajax({
            url: '/number.php',
            type: 'get',
            success: function (output) {
                // parse returned value to integer
                var intVal = parseInt(output);
                // make comparison
                if (intVal > currentValue) {
                    currentValue = intVal;
                    $(document.body).append(output);
                } else {
                    // do something else or nothing at all
                }
            }
        });
    }, 1000);
});

答案 1 :(得分:1)

每次收到一个数字时,都会将其存储在全局变量中。 在准备好的功能之前定义它。

var lastNumber;

因此,在您的代码中,当您发出下一个请求时,您可以将返回的数字与最后一个数字进行比较。如果它更大,那么你的功能。

if(output > lastNumber) {
    // call function here
}

lastNumber = output;

答案 2 :(得分:1)

如果输出实际上只是一个带数字的字符串,那么:

var lastNumber = 0;
$(document).ready(function () {
    setInterval(function() {
      $.ajax({
        url: '/number.php',
        type: 'get',
        success: function (output) {
            var newNumber = parseInt(output);
            if (newNumber > lastNumber) {
              lastNumber = newNumber;
              yourCustomFunction(newNumber);
            }
        }
      });
    }, 1000);
});