+ -
当前位置:首页 → 问答吧 → ajax调用某个xml文档处理,但是xml文档内容是不断改变的问题

ajax调用某个xml文档处理,但是xml文档内容是不断改变的问题

时间:2011-06-20

来源:互联网

ajax调用某个xml文档处理,但是xml文档内容是不断改变的,但是ie调用这个xml文档时候发现,即使xml文档内容改变了,ie显示的还是之前第一次调用xml文档的内容,网上查了说要清理缓存,但是 cache:false,不管用,aspx后台作 
Response.Buffer = true;
Response.ExpiresAbsolute = System.DateTime.Now.AddSeconds(-1);
Response.Expires = 0;
的处理也不管用,请问,怎么解决这个问题。

作者: nkhuangyanping   发布时间: 2011-06-20

var url = "xxx.xxx?time="+ Math.random();
带个随机数 防止缓存.

作者: zell419   发布时间: 2011-06-20

楼上正解!

作者: CGJCGJ   发布时间: 2011-06-20

不一定是URL带随即数,参数也可以带个随机数

作者: jhrxx   发布时间: 2011-06-20

引用 1 楼 zell419 的回复:

var url = "xxx.xxx?time="+ Math.random();
带个随机数 防止缓存.

这个不行,因为url带了随机数,保存的是xml文档,在ie上用ajax调用的是刚才保存的文档,文档只是内容改变而已,路径不变。ie调用这个路径还是第一次调用的xml文档内容呀。怎么办?

作者: nkhuangyanping   发布时间: 2011-06-20

我贴代码:
var pointList = [];
  $(document).ready(function(){
  $.ajax(
  {
  type:"post",
  url:"WebService.asmx/GetXML",
  data:{MyXMLurl:XMLurl},
  dataType :"xml",
  cache:false,
  success: function(data) {  
   
  $.get('XML/proxyHandler.xml', function(xml){ 
  $(xml).find('result').each(function(){
  var lat = $(this).find('routelatlon').text();
  var ll= lat.split(";");
var length = ll.length;
for(var j = 0; j<parseInt(length)-1;j++){
var lonlat = ll[j];
var lonlat = lonlat.split(",");
var newPoint = new GeoSurf.Geometry.Point(lonlat[0],lonlat[1]);
pointList.push(newPoint);
}
var linearRing = new GeoSurf.Geometry.LinearRing(pointList);  
  DC.Route.lineFeature = new GeoSurf.Feature.Vector(new GeoSurf.Geometry.LineString(pointList),null,DC.Route.style_blue);
DC.Route.lineFeature.style.strokeColor ="#E60000";
DC.Route.routeLayer.addFeatures([DC.Route.lineFeature]);
  });
  });  
......

其中XML/proxyHandler.xml这个文档的内容是不断变化的,但是在ie上调用显示的总是第一次调用的内容。

作者: nkhuangyanping   发布时间: 2011-06-20

热门下载

更多