防止SWF图表refreshUrl中的缓存

时间:2012-10-19 19:16:40

标签: javascript html charts flash

我正在使用Flash图表来显示数据。它有一个属性'refreshUrl',用于每60秒刷新一次数据。 问题是url总是相同的,它永远不会收到最新的数据。

在javascript中我知道我们可以将“new Date()。getTime()”附加到url以防止缓存,但我们设置refreshUrl使得无法将时间附加到url。

这就是我宣布饼图的方式(这只做了一次):

cfm_PieChart = new SWFObject("<%=contextPath%>/cuecharts/piechart.swf?t=" + new Date().getTime(), "alarmCountBySeverityPiechart", "100%", "100%", "9", "#869ca7");

cfm_PieChart.addVariable("chartdefxml", "<chart row='row' labelFormat='pctOutsideParenthesis' enableDataGridView='true' togglePosition='bottom'  useStateColorPalette='true' dataChangeEffect='interpolate' dataChangeEffectDuration='1500' refreshUrl='<%=contextPath%>/pie.jsp' refreshFrequency='60000' ><series><pieseries field='Count' nameField='Severity' stateValueField='StateKey' labelPosition='callout' /></series><legend placement='left' legendItemsDirection='vertical'/></chart>");

请注意cfm_PieChart.addVariable()调用中的'refreshUrl'属性。我尝试了以下方法:

refreshUrl:='>%=contextPath%>/pie.jsp?t=javascript:new Date().getTime()'

refreshUrl:='>%=contextPath%>/pie.jsp?t=new Date().getTime()' 

有什么想法吗? 感谢

1 个答案:

答案 0 :(得分:0)

通过在我的jsp中添加以下内容来修复它:

response.setHeader("Cache-Control","no-cache");
response.setHeader("Pragma","no-cache");
response.setDateHeader ("Expires", 0);