令人抓狂的src-dojo开发中遇到的一个问题

     前段时间,做的项目中引入dojo库。dojo的组织结构清晰,界面友好,对网页performance有提高等特性让我感到很兴奋。项目当中不光直接引用dojo现成的widget还自己定制了一些widget。定制的widget主要功能是选择用户,只要输入名字的几个字母,所有可能的用户会列表显示出来。等这个widget做好并整合到页面中之后发现了两个奇怪的问题:

1。通过sql profiler观察,在load首页或是其他使用到这个定制widget页面时,都会重复请求首页一次,导致首页中的业务逻辑重复执行。

2。在输入用户名选择用户时,首页中的业务逻辑也被执行。

     在网上查了许久,曾经怀疑过是dojo的框架问题,是ie/firefox对事件提交机制的问题(冒泡和广播模式),xmlhttprequest的cache问题。。。 按照分析,修改代码后这两个问题还是不能解决。

     最终通过firebug和httpfox两个工具的debug最终发现问题所在。原来在定制的widget中,要使用到图片,需要定义img的src路径。在没有任何操作的时候,img的src赋值为“”。有操作的时候,根据结果分别显示打勾和打叉的图标。问题就出在这个img的src赋值上,debug过程中发现,只要img.src=""一执行,立马就去请求站点的起始页面。这就说明,img.src=""并不是没有值,而是给赋值成默认的站点地址,例如http://xxx.com/test/。此时服务器会把这个请求导向到默认页面,这个默认页面在我这个项目中是含有业务逻辑的default.asp,这样就导致关联操作。

     这样第二个问题找到了根源,而第一个问题顺着这个思路去查,发现在定制的widget中的自定义模版里用html标记注明了src=“”,这样就导致使用定制widget的页面装载的时候也会重复请求默认页面。

     修改img.src="test.htm",test.htm是一个空白页面,问题得以解决。

     这样一个问题,现在看看挺简单的。但在没有查出原因之前,让大家很伤脑筋。甚至考虑要更换dojo,采用其他的ajax库。谁曾想是这么一个小爬虫在作怪,新技术的采用可以很快,但要真正用好并不容易。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值