1

当我使用 Charles 代理查看日志时,我发现用户的提交 (POST) 并不总是包含所有表单数据。有时它会丢失表单数据的底部三分之一,显然是在 AJAX 调用PeriodicalExecuter发生故障时。我对此并不完全确定。以下是页面脚本的大致外观:

document.observe("dom:loaded", function() {
  ...
  new PeriodicalExecuter(function(pe) {msgEntryRqst(host_URL, web_sid, pageType, recordNbr);}, delaySecs);
  ...
}

function msgEntryRqst(host_URL, web_sid, pageType, recordNbr) {
    ...
    new Ajax.Request('/'+host_URL, {
    method: 'get', 
    parameters: {c: 'AJAX_request', ajtype: 'instantMessage', sid: web_sid, pagetype: pageType, record: recordNbr, rnd: Math.random()},
    onSuccess: function(response) { 
        if(response.responseText.length>0) {
                         ...
         }
      }
   }
}

有没有办法,例如,DOCUMENT.observe('click', 'myHandler')可能在该"dom:loaded"部分中,在用户单击保存按钮或导航选项卡时设置一个标志,跳过 AJAX 命令的一个周期,从而不截断用户的 POST?

4

0 回答 0