Safiri浏览器中JS通过DWR重复请求的问题
来源:互联网 发布:云计算安全和大数据 编辑:程序博客网 时间:2024/06/06 16:47
最近在一个项目的维护中,下面的一段用到了DWR的JS代码,出现了一个很奇怪的现象。
function deleteCartItem(productId,shopId,productEdt){if(confirm('确定要删除吗?')){// 通过DWR,提交到后台Java代码来清空session// 刷新页面显示最新信息var theform = document.ProductToCartForm;theform.productId.value = productId;theform.productEdt.value = productEdt;theform.shopId.value = shopId;with(theform){action="view.do";submit();}}else{return;}}具体的现象是上面的一段通过DWR调用后台Java代码的语句
ChangeProductAmount.delProductFromCart(productId, productEdt);
在Chrome,FireFox,IE,Opera中可以正常的起作用,跟踪断点可以跳转到Java代码中,是在在Safari5.1.7中却无法正常运行(Java代码没有被正常调用),但是整个页面都还是被重新刷新了(submit语句起了作用)。
最后通过比较得出了将上面的JS代码改成如下的代码之后,就可以正常运行了。
function deleteCartItem(productId,shopId,productEdt){if(confirm('确定要删除吗?')){// DWR提交到后台清空sessionremoveProductFromCart(productId, productEdt);// 刷新页面显示最新信息setTimeout(function(){refreshPage(productId,shopId,productEdt)},1000);}else{return;}}function refreshPage(productId,shopId,productEdt){var theform = document.ProductToCartForm;theform.productId.value = productId;theform.productEdt.value = productEdt;theform.shopId.value = shopId;with(theform){action="view.do";submit();}}
通过猜测得到如下结论:
不同的浏览器对JavaScript的执行方式不同,一段JavaScript中如果有两个向服务器的请求的时候,由于JavaScript执行速度相当之快,在Safari浏览器中,第一个请求如果来不及处理的话,那么就会被第二个请求给替换掉。所以在两个请求中加入了执行时间间隔,就解决了上述的问题。
- Safiri浏览器中JS通过DWR重复请求的问题
- 通过测试浏览器对网页中元素请求,提出减少浏览器请求的建议
- 通过创建方法,减少不同浏览器通过JS设置样式时的重复书写
- Volley重复请求的问题
- 通过Ajax请求的JS值在JSP中显示
- DWR与js的同步异步问题
- 怎么通过js,修改当前浏览器地址栏的地址,并发起这个http的url请求
- 解决IE浏览器再重复请求请求内容相同的情况下调用本地缓存的问题!
- Easyui中DataGrid组件重复请求问题
- dwr通过WebContextFactory获取请求对象
- DWR中对浏览器关闭的监控window.onbeforeunload
- js 获取浏览器请求头的URL
- ASIHTTPRequest多次重复请求的问题
- iOS ASIHTTPRequest 多次重复请求的问题
- 验证码重复发请求的问题
- ASIHTTPRequest多次重复请求的问题
- 关于Volley重复请求的问题
- ajax重复发送请求的问题
- 程序员面试100题之三:不用+、-、×、÷数字运算符做加法
- linux软件安装(笔记整理)
- 一个完整的性能测试综述
- 创业者常见的六大误区
- linux 安装zend studio
- Safiri浏览器中JS通过DWR重复请求的问题
- 程序员面试100题之四:求1+2+...+n
- BlackBerry 9850 应用:天气预报
- 程序员面试100题之五:二叉树两个结点的最低共同父结点
- 织梦dedecms升级5.7后添加栏目文章没有确定按钮
- mastudio 语法(REM是单行注释)
- something wrong in my program by using GData xmlsupport
- UIScrollView 属性详解
- 魔蝎座提供伤感QQ日志_一转身可能就是一世