之前做子账户的时候在客户端做子账户列表的查询,本来所有的功能都完事了,结果不知道为什么(当然后来知道了),要查询的内容都不能在页面显示了,挺奇怪的,因为在后台都已经拼接成了相关的字符串了(框架就这样,把所有查询的内容都拼接成xml的字符串,然后不知道交给什么区解析成页面上显示的表格)。
开始的时候还怀疑过是字符串中有xml的实体什么的,因为以前也出现过,但是仔细查了N久,也确定了不是字符串的问题。
后来开始怀疑是引入的js文件的问题,又把js文件仔细的查了查,还特意把所有的括号都查了遍是否匹配(以前有过不匹配然后导致出错的情况),也没发现任何的问题。
开始的时候把所有能想到的问题都想了一遍,但是却没有任何结果。貌似这个倒霉的问题至少花了一天的时间呢,哎~~我的时间就这么浪费掉了。
今天的时候把基础的东西都整完了,再不弄这个也没啥借口了,于是从头弄起,还是怎么弄都不好。曾经把代码放到新的文件里试验,依然不好用。
最后没办法了,只好把文件备份一份,然后按照功能点,一下一下的把代码复制过去。当只复制查询的时候,发现,查询是没有问题的。继续复制,直到“编辑”的时候,发现编辑的新窗口中出现了一些HTML的代码,而且编辑窗口跟以前也不一样了(保存和关闭两个按钮不见了)。
仔细查看代码,发现编辑里面有个<textarea>的标签只写了开始,没写结束,把结束标签写上,程序正常工作了,哎~~~
调这个bug有两个收获:
1、学了种调试的方式,迭代法,嘻嘻。以前的时候BOSS LIU也在开发的时候讲过迭代法,不过是用到开发里面的,现在发现调试居然也可以这么用,挺好的。
2、好习惯真是重要啊,要是真的养成了写完开始标签就写结束标签的习惯,相信也不会出这么多的问题了。(虽然这次没写结束标签是因为那个<textarea>是从input改过来的)
PS:IDE并不总是可信的。按理说这种没写结束标签的应该有提示才对,不知道为什么,这个标签没关闭居然也没给我提示,直接导致我浪费了N多的时间。