【发布时间】:2013-01-11 09:05:24
【问题描述】:
我正在用 c# 创建一个 asp.net Web 应用程序,在 iPhone 4 和 5 上查看页面时遇到了一个小问题(不确定其他手机,因为我没有收到其他手机用户的报告)。
在桌面浏览器上查看页面时,一切正常。发生的情况是用户在文本框中输入他们的电子邮件地址并单击按钮。我在通过 ajax 调用 web 方法的按钮上有一些 Javascript JQuery,web 方法返回 json 中的 ID 和名称列表 - 然后该按钮在网页上填充此信息的下拉框。
用户可以通过网站的不同部分将信息添加到数据库中,当他们单击上述按钮时,返回的列表应该更大并且包含新信息。但是我在 iphone 5 上注意到,当我返回页面时,似乎没有发生 ajax 调用(它发生时会短暂显示一个弹出窗口)并且下拉框不包含数据库中的新信息。我相信它只是显示来自手机 CACHE 的信息。
如果我进入 safari 设置并删除 cookie 和数据/网络数据,然后转到网页,瞧,所有下拉列表都已填充,并且 ajax 调用正常工作(请等待弹出显示)。我已尝试将以下代码行添加到 page_load 上的母版页,但没有成功。
Response.Cache.SetNoStore();
我还有什么需要做的吗?正如我所说,该网站适用于桌面浏览器,我不是移动开发人员(我什至不使用手机进行网页浏览)所以不确定问题是什么或如何在我的代码中解决它。
非常感谢任何帮助/建议。
【问题讨论】:
-
尝试将查询字符串变量添加到 ajax 调用的地址。更改每个请求的变量,这样浏览器就不会认为它是可缓存的。我对这个问题的回答中描述的原则(但并不完全相同):stackoverflow.com/questions/14231872/…