刷新、前进、后退、离开页面,使用ajax对数据库进行操作

 最近公司开发一个,要求刷新、前进、后退、离开页面,使用ajax对数据库进行操作,更新数据库中的一些信息。开始我使用yahoo yui的ajax实现。

发现IE可以实现效果,Firefox不行。原先代码如下:

<script type="text/javascript" src="../../include/yui/yahoo.js"></script>
  <script type="text/javascript" src="../../include/yui/event.js"></script>
  <script type="text/javascript" src="../../include/yui/connection.js"></script>
    <script language="javascript" type="text/javascript"> 
        window.onbeforeunload = function() { requestEnd(); }  //页面迁移时调用此方法
        function requestEnd(){ 
        var t_id=document.getElementById("ctl00_ContentPlaceHolder2_hidaccessid").value  ;   //  获取要进行操作的表的ID      
       
        var url="../cmn/cmn_access.aspx?t_id=" + t_id ;   //请求的URL
            
        var rsf=YAHOO.util.Connect.asyncRequest("GET",url,"");        //通过ajax来提交请求,更新数据库
       }   
    </script>

解决办法:

1)在上面的JS中添加 return :

        window.onbeforeunload = function() { return requestEnd(); }  //页面迁移时调用此方法
        function requestEnd(){ 
        var t_id=document.getElementById("ctl00_ContentPlaceHolder2_hidaccessid").value  ;   //  获取要进行操作的表的ID      
       
        var url="../cmn/cmn_access.aspx?t_id=" + t_id ;   //请求的URL
            
        return YAHOO.util.Connect.asyncRequest("GET",url,"");        //通过ajax来提交请求,更新数据库
       }

缺陷:使用onbeforeunload,页面变化时,总会弹出一个对话框,确认离开当前页面。

2)将window.onbeforeunload改为window.onunload,即可完美解决。

本人小菜鸟呵呵,误打误撞解决该问题,虽然原理还不是很清楚,希望能给大家一点帮助。也让大虾来解答下。共同进步

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值