前段时间打算接着完善一下以前未完成的那个在线考试系统,看了看原先的系统,觉得应该先从考生登录入手,这一块学宇已经通过Ajax技术实现了一部分了,因此我需要做的就是继续完善。
因为这一部分是新接触的,原先并没有真正的使用JavaScript来实现异步通讯,所以刚开始已入手并不是那么清晰,再加上这部分等于是别人已经有了实现的思路,并且也实现了一多半了。所以一边熟悉代码,一边揣测她的思路。
等到代码看的差不多了,思路也慢慢理解了,就开始完善工作。这时候才知道问题刚开始,重点就是这些JavaScript貌似不能执行,左改右改,猜了又猜,一点一点琢磨终于明白了为啥不能执行。原来在浩瀚的js代码中有一个地方在传递实参的时候没有通过引号括起来,这将会导致编译器以为他是变量,但它其实是常量。再加上JavaScript没有任何异常提示的就罢了工,这个问题不好捕捉。
这个问题解决了,系统也可以运行起来,但是又出现问题:通过xmlHttp传送数据到后台的service之后,xmlhttp的状态readyStatus始终为1,这个表示“对象已建立,尚未调用send方法”,有资料说这是因为open的写法是xmlhttp.open("GET",url,true),其中的true表示异步,改为false就可以了。不过试了之后依然不行。每次尝试都要不断的alert出来当前的值,到现在还没有解决这个问题,大家可以帮着思考一下。
调试JavaScript的话我用的也就是alert和write方法,不知大家有何妙招。