这个月的工作是完成负责的工作流平台的功能升级,由于有了一定的经验(开发经验,进度控制经验),整体上感觉还是愉快的,一般的错误通过VS(C#)和Miscrosoft Script Editor(JS)的调试都能顺利解决。通过调试读懂了平台大部分的源代码,感觉还是很踏实的。(准备写一篇关于平台结构介绍的文章)
但这两天却被一个小问题卡住了,流程人员提交页面原来是通过机构架构选择人员,用户想添加一个通过人员名称选择人员的功能,这本来是一个非常简单的问题。但由于源代码不是我写的,而且页面功能很强大,包含了路由信息,授权功能,传阅功能等等,无论后台C#(估计3K行)前台JS(保守1K),不得不承认有点混乱。需要在了解页面运作的基础上操作才能不影响原功能的运作。
虽然磕磕碰碰,但还算顺利,很快找到切入点,在自定义控件中添加了按钮,在前台调用AJAX获取人员信息,尽量对原功能的影响最小。一切貌似都很顺利,测试也通过,正暗暗开心超前完成的时候,发现一个小问题,页面刷新了,AJAX没有用?
就是这个小问题,让我耗了1天半的宝贵时间,因为调试JS的时候遇到Prototype中的AJAX调用机制,看不懂~于是搜了一遍Prototype的AJAX资料,自己重写了一个request function来测试(呵呵,当学习一下)。反正就是把每一个用到的函数都换一下。。。经过不断的调试,学习。凶手终于找到了~原来我的AJAX调用没有问题,只是服务器按钮发起了回调~ASP:BUTTON在转化为HTML标签后是一个INPUT,但TYPE是Submit(回发服务器端),因此当我用JS调用AJAX获取异步获取后台信息后,会执行回发,刷新页面~~
一个非常初级的错误,让我花费了这么多的时间,不得不说基础很重要啊,但是在寻找答案的过程中,得到的不单单是答案,还有很多很多相关的知识,特别是当问题解决,运行正确的那一刻,突然感觉自己是最幸福的人~心情舒畅~如释重负,这种感觉真是秒不可言。同事的比喻是跟便秘畅通了一样~
让我想起了以前学习数学的时候,虽然做的题不多,但是花的时间不会少,每一个问题都要想得非清清楚楚不可,经常吃饭在想,睡觉在想,而最经常是在厕所中想到思路(果然是恶劣的环境让人成长啊)。每解决一个问题都要开心得要命,就像在玩游戏似的。
有的时候也不知道,为什么要这么犯贱,越受折磨越开心,但当看到困扰自己好几天的问题得到完善解决,运行正确的那一刻,就觉自己是最幸福的人啊~做为一个程序员,就预着将过爽半天便秘2,3天的日子了。已经预料到下一个烦人的事已经不远了~~