我在c#中创建了一个asp.net web应用程序,并且在iPhone 4和5上查看页面时遇到了一些小问题(不确定其他手机是否因为我没有其他手机的报告移动用户)。在手机上禁用缓存
当在桌面浏览器上查看页面时,它全部按原样运行。会发生什么事是用户在文本框中输入他们的电子邮件地址并单击按钮。我在按钮上有一些Javascript JQuery,通过ajax调用web方法,web方法返回json中ID和名称的列表 - 然后该按钮使用此信息在网页上填充下拉框。
用户可以通过站点的不同部分向数据库添加信息,当他们单击上述按钮时,返回的列表应该更大并包含新信息。然而我注意到在iphone 5上,当我回到页面时,ajax调用似乎没有发生(当它发生时它简要地显示了一个弹出窗口),并且下拉框不包含数据库中的新信息。我相信这只是显示手机CACHE的信息。
如果我进入Safari浏览器设置并删除cookies &数据/网络数据,然后转到网页,所有下拉列表填充和ajax调用工作(请等待弹出显示)。我已经尝试将下面的代码行添加到page_load的主页上,但它不起作用。
Response.Cache.SetNoStore();
还有什么我需要做的吗?正如我所说,该网站适用于桌面浏览器,而且我不是移动开发人员(我甚至不使用移动设备进行网页浏览),因此不确定问题是什么,或者我可以如何在我的代码中修复它。
非常感谢您的任何帮助/建议。
尝试将一个查询字符串变量添加到您的ajax调用的地址。更改每个请求的变量,以便浏览器不会认为它是可缓存的。原理描述(但它不完全一样)在我的答案这个问题:http://stackoverflow.com/questions/14231872/force-app-to-refresh-image-from-url/14232252#14232252 – mortb