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

jquery中间的ajax自动添加数据为何有时会重复

2012-12-23 
jquery当中的ajax自动添加数据为何有时会重复?本帖最后由 dingzongyinnihao 于 2012-07-26 15:36:54 编辑i

jquery当中的ajax自动添加数据为何有时会重复?
本帖最后由 dingzongyinnihao 于 2012-07-26 15:36:54 编辑 index.aspx

js代码



<script language="JavaScript" type="text/javascript">  
            var time=60;//时间,每1分钟执行一遍
var id=5;//id,从数据库获取的

    function gettime(ctime)
    {    
        var nS=ctime;  
                    
           if (nS==50)
           {
           
            $.ajax({
                type: "get",
                url: "addsome.aspx",
                dataType: "html",
                data: "id=" + id,
                sucess: function () {
                    return true;
                },
                    error:function()
                    {
                        return false;
                    }
            })
           
        }
        
        
          
        setTimeout("GetRTime("+nS+")",1000);  
        
    } 
      
gettime(time);   

</script> 

html 绑定一些数据




addsome.aspx


   protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
        {
            //用户高级竞猜模式设置
            if (Request.QueryString["id"] != null)
            {
 int newid =Convert.ToInt32(Request.QueryString["id"].ToString());
              AddsomethinByID(newid );
              }


}        
    }


问题:断点调试的时候,运行到addsome.aspx页面, AddsomethinByID(newid )这个方法有时候会执行两遍或者三遍

请问是什么原因,,我就是到50秒的时候,插入一条数据,而有的时候在同一时间插入了1条以上数据,,我真不知道啥原因

,,,各位高手帮忙看下啊,,,,


[最优解释]
按照你的意思和代码你想做的应该是:你设定定时器为1s  执行一次 当达到50秒的访问后台方法

出现你所描述的情况 应该你还是没处理好 就如1楼所说的那样 小间隔多次访问 可能造成了堵塞等情况.

[其他解释]
gettime这个方法调了很多次吧

估计是因为异步执行导致你判断条件出错的问题
[其他解释]
GetRTime()这里面是咋样的?
[其他解释]
是1秒执行一次
这里面的 setTimeout("GetRTime("+nS+")",1000);  

GetRTime就是gettime,


当时间为第50秒的时候,就会自动执行addsome.aspx这个页面,这个是正确的,,,当过个几十分钟或者几个小时候,有那么几次会在addsome.aspx的添加方法重复执行

也就是, 1. int newid =Convert.ToInt32(Request.QueryString["id"].ToString());
         2.     AddsomethinByID(newid );

这里面的两句话,断点调试的时候,走两遍,而这两遍不是走一遍在走一遍,而是,第一句走一遍在走一遍,然后走第二句的第一遍,然后再走一遍的意思!

请问,到底怎么解决这个问题????求大神啊!



[其他解释]
该回复于2012-07-28 09:40:37被版主删除
[其他解释]
没人吗。。。。

热点排行