`

jqueryEasyUI关于"datatye"引发的血案

 
阅读更多
项目改版,用到jqueryEasyUI.
后台权限json树写好之后,前台一直出不来。
但是直接用数据文件,却可以,但也是慢。
思考半天查了半天,最后发现前台js遍历json时,没有加入datatype格式。
悲剧的形成---js通过便利json出来的树,可是datatye没加入json格式,就用了字符串的长度,来遍历。字符长为20000+,就循环20000+次。
还有一种解决方法,在后台程序里写入response.setContentType("text/json;charset=UTF-8"),然后再返回。
浏览器不死也怪。
调整后,只循环8次。
问题解决,但值得深思。
对新事物,api要常看,对于循环慢的,一定要先看循环的长度。
	//权限树     
		function permissions(){
			// ../../menu/commonMenuList.action
			//../../common/json/test.json
				     $.ajax({
					  url: "../../menu/commonMenuList.action",
					  cache: false,
					  dataType:"json",				  success: function(data){
						  console.info(data.length);
						     for (var i = 0;i < data.length; i++){
													 			var aaa=i+1;//创建伸缩面板,id名字为abc加id号,id号比i下标多一个,是为了以后用ul的id号对应data下标值为整数
											   					$('#tree_top').accordion('add',{
											   						title:data[i].text,
											   						content:'<div style="padding:10px"><ul id="abc'+aaa+'"></ul></div>' 
											   					});
											   					
											   					 //第一次创建的ul是拿不到值的,所以第二次在拿,所以i>0,第二次对应的ul还是创建的第一个,拿第一个数据,
											   					if(i>0){//第一次第一个伸缩面板的id取不到,第二次开始取第一个伸缩面板的id给赋值上第一次的数据 data[i-1]
											   					$("#abc"+i).tree({   
											   						animate:false,
											   						lines:true,
											   						onClick:function(node){
											   						 
											   						}
											   					});  
											   					$("#abc"+i).tree('loadData', data[i-1].children);	
											   					}

											   					
											   					//因为i<data.length,所以"#abc"+i拿不到最后一个,最后一个要用"#abc"+aaa拿,然后得给他创建一个ul才能拿到,
											   					//所以就先增加了一个,在消灭一个,到这里就结束了,break;----->over
											   					if(aaa==data.length){
											   						$('#tree_top').accordion('add',{
											   							title:'gdgd',
											   							content:'<div style="padding:10px"><ul id="dgdg"></ul></div>' 
											   						});
											   						$("#abc"+aaa).tree({   //获得最后一个伸缩面板的id
											   							animate:false,
											   							lines:true,
											   							onClick:function(node){
											   							 
											   							}
											   						});  
											   						$("#abc"+aaa).tree('loadData', data[i].children);//最后一次加载最后一次数据	
											   						
											   						$('#tree_top').accordion('remove',aaa);

											   						return false;
											   					}
											}
					   
					  			}
					});	
			}
分享到:
评论

相关推荐

    一个Sqrt函数引发的血案-博文代码

    一个Sqrt函数引发的血案-博文代码 博文地址:

    sql学习 全局临时表案例1_统计信息引发性能血案.sql

    sql学习 全局临时表案例1_统计信息引发性能血案.sql

    第002章 一个输入框引发的血案.rarpython面试

    而"一个输入框引发的血案"这个标题似乎暗示了一个关于用户输入的安全性问题,这在Web开发中是一个极其重要的主题。在Python中,对用户输入的不当处理可能导致各种安全风险,如SQL注入、跨站脚本(XSS)攻击等。 ...

    一台电脑引发的血案作文【初中初二500字】.docx

    这篇文档实际上是一个初中初二学生的作文,标题为"一台电脑引发的血案",属于记叙文类型,描述了一个家庭中的小冲突,主要围绕电脑使用权展开。作文中并未涉及实际的"血案",而是通过幽默诙谐的方式展示了父子之间的...

    一次理发引发的血案250字三年级作文范例.pdf

    这篇题目为《一次理发引发的血案》的250字三年级作文范例,虽然表面上看似讲述了一次理发过程中的悲惨事件,但实际上它蕴含着更深层次的情感表达和生活哲理。作文通过拟人化的手法,将头发比喻为孩子,以此来描绘...

    一条慢SQL引发的血案

    本文以一个实际案例"一条慢SQL引发的血案"为背景,探讨了如何诊断和解决慢查询问题。 首先,描述中提到的慢查询耗时达到了70秒,这对任何在线服务来说都是无法接受的,因为它可能导致整个网站瘫痪。这个查询的执行...

    由掩码地址设置不当,引发的血案(网络访问故障)

    ### 由掩码地址设置不当,引发的血案(网络访问故障) 在现代网络环境中,子网掩码的正确配置对于确保数据包能够准确无误地传输至目标位置至关重要。本文将详细介绍一个由子网掩码设置不当所引发的网络访问故障案例,...

    一条SQL引发的“血案”:与SQL优化相关的个案例(文末送书).docx

    一条SQL引发的“血案”:与SQL优化相关的个案例(文末送书).docx

    一个等号引发的血案(谈Nginx正确的404配置)

    在本文中,主要探讨了Nginx服务器配置中关于404错误页面的正确设置方法,以及一个关于等号引发的配置错误案例。这个案例表明了配置细节对于网站SEO(搜索引擎优化)的重要性,并解释了为什么自定义404错误页面是提高...

    防不胜防:一个空格在数据库里可能引发的N重血案.pdf

    在IT领域,数据库管理是至关重要的任务,而细小的疏忽可能会引发严重的后果。本文主要探讨了在Oracle数据库中,一个看似微不足道的空格如何...通过提高警惕性和代码质量,可以有效避免这些“防不胜防”的数据库血案。

    一条SQL引发的“血案”:与SQL优化相关的4个案例.docx

    在一个使用分区表的查询中,由于日期格式非标准,导致分区裁剪特性未能生效,引发了全表扫描,严重影响性能。通过调整日期格式和使用`UNION ALL`,优化器成功识别了分区,显著提升了查询速度。这提示我们在使用分区...

    工程师故事,晶振引发的系列血案.pdf

    从提供的文档内容中,我们可以提炼出以下IT知识和经验教训: 1. 硬件故障诊断:文档中提到产品返回的主要问题之一是液晶屏漏液,这通常是因为液晶屏表面受到外力影响导致的。这种问题的诊断相对直观,需要检查屏幕...

    古代汉语02-7.1 一个奇葩名字引发的血案:《左传》郑伯克段于鄢解题_28.pptx

    《左传》是中国古代一部重要的历史典籍,与《春秋》并称为“春秋三传”之一,其中记载了春秋时期各国的重要事件。本讲主要涉及《左传》中的一则故事——郑伯克段于鄢,同时介绍了《春秋》及“三传”的基本概念,以及...

    一个“玩笑”引发的“血案”--就“欧典危机”答《成功营销》 管理资料.doc

    企业必须对可能引发品牌形象损害的行为保持警惕,及时发现并处理潜在问题,以避免短期或长期的品牌损害。 2. 品牌形象修复:品牌形象一旦受损,需要时间和恰当的策略来修复。欧典品牌损害被认为是短期的,主要依赖...

    io.Reader游标引发的血案

    背景 线上运行了一个图片合成程序,默认的小程序二维码中奖是小程序LOGO,不满足需求,所以将微信小程序二维码和用户头像合成在一张图片。 由于微信图片有时候返回的Content-Type不对应(比如内容是PNG的,头确是...

    css border引发的血案

    在CSS世界中,边框(border)是定义元素外观的重要属性之一。当我们想要消除一个元素的边框时,有两种常见的方法:`border:0` 和 `border:none`。这两种方式虽然看似相似,但在实际应用中却有着微妙的区别。...

Global site tag (gtag.js) - Google Analytics