zoukankan      html  css  js  c++  java
  • ajax问题

    1、

    代码:
    var i;
    for(i=0;i<10;i++){
          ajaxServise(i);
    }
     
    在for循环中调用ajax方法  补充页面上的数据,这样写是错误的,他不会每执行一次for循环就执行一次ajax方法,而是等for循环结束才去执行ajax方法,所以导致ajax只被执行一次。然而当修改如下:
     
    for(i=0;i<10;i++){
          alert("aa");
          ajaxServise(i);
    }
    与上面不同的是在每次调用的时候都弹出一个窗体  alert("内容随意")  这样就可以在页面正确显示内容 而不是一条内容
     
    原因:for循环在JS中是单线程的,他会在for循环结束之后然后执行下一步,一步一步进行实现,而alert切断循环,让程序响应一次,从而再次调用ajax方法,然而在程序当中我们却不能让alert方法出现。

    (此方法在前台显示正确,但调用后台数据时仍然为最后一次的值)
    解决办法:
    var i=0;
    var sum=10;
    var time;
    ajaxServise(i){
           if(i==sum){
                clearTimeout(time);
            }
            i=i+1;
            time = setTimeout(ajaxServise(),10);
            ……………………
            ………………
            …………
            ……
    }
     
    这里用setTimeout(AJAX())方法进行调用,setTimeout会当此方法执行完毕然后再次执行AJAX()方法,用setTimeout与clearTimeout配合完美解决此问题。
     
    PS:setTimeout是伪多线程。

    2、是否填写是否同步的字段。

    3、传递数组数据需要设置

    $.ajax({  
    	type:'post',  
    	traditional :true,  
    	url:'${ctx}/discuss/dropMoreRmb',  
    	data:{'dropIds':dropIds},  
    	success:function(data){  
    	    refreshRmb(1);  
    	}  
    }); 
    

    4、jajax 无法跳转 action,因为当时跳转URL中包含了'_',去掉后可以正常调转 

  • 相关阅读:
    按照外形结构划分,服务器可分为塔式、机架式、刀片式三种类型
    Nmap和Zenmap详解
    Windows server 2012 出现大量无名已断开连接用户
    神州网信政府版 Windows 10
    NoSQL之redis---RDB与AOF
    NoSQL之redis之哨兵服务
    NoSQL之redis主从(结构片)
    NoSQL之redis高可用及管理集群
    mysql架构篇之引擎与事务介绍
    mysql架构篇之PXC
  • 原文地址:https://www.cnblogs.com/caroline4lc/p/4303479.html
Copyright © 2011-2022 走看看