Javascript 如何保存获取外部页面内容的函数的输出,以便与上次运行该函数时的输出进行比较?

Javascript 如何保存获取外部页面内容的函数的输出,以便与上次运行该函数时的输出进行比较?,javascript,php,jquery,ajax,Javascript,Php,Jquery,Ajax,这是我的代码: function getstate(handleData) { $.ajax({ type: "GET", url:"currentstate.php", success:function(data) { handleData(data); console.log('Used getstate. Output: '+data); } }); } function refreshstate(){ ret

这是我的代码:

function getstate(handleData) {
  $.ajax({
    type: "GET",
    url:"currentstate.php",  
    success:function(data) {
      handleData(data); 
      console.log('Used getstate. Output: '+data);
    }
  });
}

function refreshstate(){
    return getstate(function(output){
        var data=JSON.parse(output); // <-- THIS!
        console.log('Refreshed state successfuly. Parsed output: '+data);
    });
}

var refreshtimeout1=setInterval(refreshstate, 5000);
函数getstate(handleData){ $.ajax({ 键入:“获取”, url:“currentstate.php”, 成功:功能(数据){ handleData(数据); log('Used getstate.Output:'+data); } }); } 函数刷新状态(){ 返回getstate(函数(输出){ var data=JSON.parse(输出);//
函数compareData(数据){
if(typeof compareData.old_data==“未定义”){
//如果尚未初始化compareData.old_数据,则会运行此操作
}
否则{
console.log(data)//新数据
console.log(compareData.old_data)//旧数据
//你想在这里比较一下吗
}
compareData.old_data=data;//下次的旧数据是当前数据
//你想要什么就给我什么
}
函数刷新状态(){
返回getstate(函数(输出){

var data=JSON.parse(output);//您需要的只是一个变量来存储刷新状态函数之外的最后结果。因此,类似于以下内容的内容应该可以工作。为了使用refreshtimeout1变量来清除间隔,我将在声明函数之前声明它

var refreshtimeout1;
var lastData = '';
function getstate(handleData) {
  $.ajax({
    type: "GET",
    url:"currentstate.php",  
    success:function(data) {
      handleData(data); 
      console.log('Used getstate. Output: '+data);
    }
  });
}

function refreshstate(){
    return getstate(function(output){
        var data=JSON.parse(output); // <-- THIS!
        console.log('Refreshed state successfuly. Parsed output: '+data);
        console.log('Last parsed output: '+lastData);
        lastData = data;
    });
}

refreshtimeout1=setInterval(refreshstate, 5000);
var刷新超时1;
var lastData='';
函数getstate(handleData){
$.ajax({
键入:“获取”,
url:“currentstate.php”,
成功:功能(数据){
handleData(数据);
log('Used getstate.Output:'+data);
}
});
}
函数刷新状态(){
返回getstate(函数(输出){

var data=JSON.parse(output);//你的问题似乎只是回答了你自己的问题。你可能真的想先试试。你到底想在哪里比较?@JosephDreamer你是什么意思?如果我尝试使用“数据”在声明之前,它会说未定义,即使函数是预先运行的。因此,当使用refreshstate函数时,它实际上不起作用。因此,每次从currentstate.php获取新“数据”后运行间隔,我都想将其与旧的进行比较,以查看是否有任何更改。
var refreshtimeout1;
var lastData = '';
function getstate(handleData) {
  $.ajax({
    type: "GET",
    url:"currentstate.php",  
    success:function(data) {
      handleData(data); 
      console.log('Used getstate. Output: '+data);
    }
  });
}

function refreshstate(){
    return getstate(function(output){
        var data=JSON.parse(output); // <-- THIS!
        console.log('Refreshed state successfuly. Parsed output: '+data);
        console.log('Last parsed output: '+lastData);
        lastData = data;
    });
}

refreshtimeout1=setInterval(refreshstate, 5000);