Dav*_*all 6 forms asp.net checkbox internet-explorer autocomplete
我有一个带有复选框的表单,其"已检查"值是从数据库中的代码填充的.
想象一下,如果我有复选框1,2和3都设置为在数据库中检查.我加载页面,取消选中复选框3,然后将更改提交到数据库.现在在我的数据库中,选中复选框1和2,取消选中3.我刷新页面,它获取更新的数据库值,复选框具有正确的选中值.
这只适用于chrome和FF.在IE中,即使取消选中复选框3,将更改提交到数据库并刷新,它仍然显示为已选中.我用ctrl + f5强制刷新,但仍然没有更新.将autocomplete ="off"添加到复选框和父窗体都没有做任何事情.
这个问题已经在评论中回答了,但在答案中没有提供相关答案。我试图在这里回答这个问题,以便它对面临同样问题的所有其他用户有用。
解决方案可以是:
请求没有变化的连续 ajax 调用通常被某些浏览器视为缓存,并且此问题在IE 10. 请求的响应是HTTP 304 Not Modified,并且请求没有到达数据库。解决方案是使用ajaxSetup设置cache为falselike :
$(document).ready(function() {
$.ajaxSetup({ cache: false });
});
Run Code Online (Sandbox Code Playgroud)
注意:这将为会话中的所有 ajax 调用设置缓存为 false。
或者
cache: false如果您不想禁用所有 ajax 调用的缓存,请特别使用ajax 调用。
$.ajax({
...
cache: false,
...
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1164 次 |
| 最近记录: |