IE9:表单值在AJAX表单提交后恢复为旧值

时间:2013-04-18 10:13:49

标签: internet-explorer jquery internet-explorer-9

我有一个非常奇怪的问题。我使用jquery提交表单。 everythign可以在我的电脑上使用FF和IE9。 IE9是企业标准,所有用户都安装了相同的版本。

现在有一个用户遇到了每次提交后的问题

  • 表单字段(textareas,select,input)将恢复为之前的值
  • 重新加载数据(AJAX)时,它显示旧值(甚至认为提交之前实际上已将更新正确保存到数据库中)

获取新值的唯一方法是重新启动IE9。我清除了历史记录(临时文件),但没有效果。

由于这在我的电脑上使用IE9完全正常,哪些设置会影响这个?其他想法?有点迷失在这里。

编辑:

其他用户也有同样的问题,虽然它也适用于我的电脑上的一些用户

编辑2:

只是为了澄清:我希望提交的值保留在输入字段中。提交是保存,用户应该能够继续输入数据并稍后再次保存。

编辑3:

尝试在我的电脑上重置...按钮(重置Internet Explorer设置)。没有改变。仍然按预期工作。问题是我不能轻易在用户PC上这样做,因为他将失去他的整个配置。

1 个答案:

答案 0 :(得分:1)

问题在于,在表单提交之后,重新加载数据以使用AJAX显示已更改的元数据(上次更新用户和时间)。出于某种原因,缓存了GET AJAX调用,因此返回了旧值。出于某种原因,我不知道我的PC从未缓存过GET调用,因此它始终正常工作。

解决方案是禁用缓存:

$.ajax({
    "url": url,
    "type": "GET",        
    "cache": false,
    "dataType": 'json',
    //...
});