Web程序员在这里 - 使用AJAX(HTML,CSS,JavaScript,AJAX,PHP,MySQL),但由于某种原因,Internet Explorer正在表现出色(惊喜)。
AJAX正在通过查询MySQL数据库的PHP脚本更新HTML页面上的查询结果。
除非我使用Internet Explorer 8.0,否则一切正常。
有几个php脚本,允许根据特定条件订购数据,出于测试目的,我已将mktime字段(当前时间,格式为HH:MM:SS)附加到开头每个查询的结果。 当我使用IE时,这些时间似乎保持不变,而对于所有其他浏览器,这些时间都是正确的并显示当前时间。
我认为问题与缓存或其他方面有关。无论如何。
欢迎任何想法或建议......
答案 0 :(得分:2)
Here是一篇关于缓存问题的文章。
如果您的请求是GET,请将其更改为POST,这将阻止缓存结果。
答案 1 :(得分:1)
GET请求缓存在IE中;将其切换为POST请求,它将不再被缓存。
答案 2 :(得分:1)
如果您没有真正使用它来更新或创建内容,而不是切换到POST,那么您应该在查询字符串中附加一个随机数,如http://domain.com/ajax/some-request?r=123456
中所示。如果这个号码对于每个请求都是唯一的,那么你就不会遇到缓存问题。
答案 3 :(得分:0)
我所做的是,我保留了“GET”并在查询字符串中添加了新的虚拟查询参数,如下所示:
./BaseServlet?sname=3d_motor&calcdir=20110514&dummyParam=datetime
我在javascript中设置了 dummyParam 一个date对象的值,这样每次生成url时,浏览器都会将其视为新的url并获取新的(新的)结果。
var d = new Date();
url = url + '&dummyParam='+d.valueOf();
因此,这不是生成一些随机数,而是简单的方法!