长轮询方法可能会有所改善

时间:2015-11-30 09:43:48

标签: javascript php jquery html

我一直在实施以下代码。它确实很好用。但过了一段时间它确实在jquery Ajax调用中引发了一个错误。 行where where:// alert('error:'+ textStatus +'('+ errorThrown +')'); //在JavaScript中

您的某个人是否知道此问题或者是否可以忽略并重新启动?

我的方法需要3个文件:

第一部分JavaScript:

function WaitForChange() {

$.ajax({
  type: "GET",
  url: "./getChange.php?timestamp=" +timestamp,
  async: true,
  cache: false,

  success: function(data){
           var json = eval('(' + data + ')');
           if (json["msg"] != "" && timestamp != 0 ) {
              var msg = json['msg'];
              var id = json['id'];
              light_on_change(id,msg);
           }
           timestamp = json['timestamp'];
           setTimeout('WaitForChange()',5000); //9000  
  },
  error: function(XMLHttpRequest, textStatus, errorThrown){
    //alert('error: ' + textStatus + ' (' + errorThrown + ') ');
    setTimeout('WaitForChange()',5000);
  }
 }); 
}

$(document).ready(function(){
  WaitForChange();
});

function save(id) {
  var content = utf8_encode($('#'+id).val());;
  $.ajax({
  type: "GET",
  url: "./renew_file.php?content=" + content,
  async: true,
  cache: false
  ,
  success: function(data){
           //alert(data);
          }
   }); 
}

function light_on_change(cell_id,msg) {
  //alert('tabid Wert:'+cell_id);
  $('#'+cell_id).val(msg);
  $('#'+cell_id).css("background-color", "#FFFCB6");
  setTimeout(function(){$('#'+cell_id).css("background-color", "transparent");},800,cell_id);
}

Part Tow PHP:

<?php
$content = $_GET['content'];  // e.g. 68
file_put_contents('data.txt', $content);
echo $content
?>

第三部分数据:

Any Content Message

0 个答案:

没有答案