今天在oobbs的开发过程遇到一个非常奇怪的问题:发现在请求一个页面时,后台总是调用两次。具体情况是:当浏览器请求:http://localhost:8080/oobbs/site/getAllForumGroups.action,将会调用后台的Action加载所有ForumGroup对象,并在forumGroupList.jsp中生成视图返回。但是实际运行时发现浏览器总是发出两次请求,其中第二次的请求路径与第一次唯一不同的是它后面有一个“#”,而后台也会相应地执行两次,但是页面不会刷新两次。经过仔细的排查发现:原来在页面上有个地方需要引用一个图片,因为暂时不没有这个图片,我临时把img的src属性调成了“#”,这样,当浏览器请请求到这个页面并解析到这个img标签时,会再次发送一个http请求用来获取这个图片,而请求的路径正是当前路径:
http://localhost:8080/oobbs/site/getAllForumGroups.action再加上这个“#”,这个请求到达后台依然会委派到action上执行!这就是为什么后台跑了两次!
一个有趣但很难追踪的页面重复提交问题
最新推荐文章于 2024-06-30 17:20:59 发布
本文讨论了在Oobbs开发过程中遇到的一个问题,即请求页面时后台调用两次Action的情况。通过分析,发现原因是页面上的img标签src属性临时设置为'#',导致浏览器在解析时额外发起一次请求,请求路径与Action相同,从而触发了两次后台执行。文章详细解释了问题原因,并提供了解决方案。
1176

被折叠的 条评论
为什么被折叠?



