首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > JavaScript >

window.onbeforeunload ajax 异步存储信息,该怎么处理

2012-03-24 
window.onbeforeunload ajax 异步存储信息功能描述:用户关闭窗口时把用户flash播放器数据写入数据问题:oSw

window.onbeforeunload ajax 异步存储信息
功能描述:
  用户关闭窗口时把用户flash播放器数据写入数据
问题:
  oSwf为播放器控件.....
  oSwf.js_sendDataTwo();flash播发器会调用前台js页面,调用js里有相应ajax请求,将数据存入数据库
  为不影响用户操作,ajax只能设为异步
  而现在这种情况无法写入数据库....
  想让页面等两秒,等待写入后页面关闭....
  但数据仍然无法写入....

盼解决:
1、window.onbeforeunload ajax 异步存储信息 可行方案
2、为什么页面等2秒,数据仍不可写入?  

JScript code
window.onbeforeunload = function (){                if(oSwf){            //alert("true");            oSwf.js_sendDataTwo();            //setTimeout("oSwf.js_sendDataTwo()",1);             //sleep(2000);            //alert("sending");        }                return;    }function sleep(numberMillis) {    var now = new Date();   var exitTime = now.getTime() + numberMillis;     while (true) {        now = new Date();        if (now.getTime() > exitTime)    return;    }}


[解决办法]
onbeforeunload 事件是不可靠的,一般不使用这个事件进行服务器端的处理。一般用它提示页面关闭是否进行保存页面的上的内容
[解决办法]
用同步。

我在window.onunload 中 用异步,页面关闭会终止请求。值不会保存到数据库。
用同步就可以成功

热点排行