所以这是我的问题。我目前正在使用 javascript/jQuery 加载一个文件名为 carousel_large_2010-06-08.xml 的 XML 文件。我这样做的方式是检查今天的日期,然后抓取文件名中包含该日期的文件... 问题是有时他们不会在给定的日期上传新文件,因此需要回退到存在的旧日期。想知道该怎么做吗?这是我的代码:
// set date for xml file
var currentTime = new Date(),
month = currentTime.getMonth() + 1,
day = currentTime.getDate(),
year = currentTime.getFullYear();
if(month.toString().length == 1){
month = '0'+month.toString();
}
if(day.toString().length == 1){
day = '0'+day.toString();
}
var dateObject = year+"-"+month+"-"+day;
// start magic
$jq.ajax({
type: "GET",
url: "_xml/carousel/home/carousel_large_"+dateObject+".xml",
dataType: "xml",
success: HPCarousels.heroCarousel.parseXML,
error: function(){
alert('Error Loading XML Content');
}
});
最佳答案
这是一个建议的(未经测试的)解决方案。我主要基于你的,但排除了日期字符串计算。将 maxOffset
设置为您要回顾的最大天数(在您昨天说的问题中,所以 1
)
function getDateString(offset) {
// set date for xml file
var currentTime = new Date().setDate(today.getDate()-offset),
month = currentTime.getMonth() + 1,
day = currentTime.getDate(),
year = currentTime.getFullYear();
if(month.toString().length == 1){
month = '0'+month.toString();
}
if(day.toString().length == 1){
day = '0'+day.toString();
}
return year+"-"+month+"-"+day;
}
var maxOffset = 1;
var success = 0;
for(var offset = 0; offset <= maxOffset && !success; offset++) {
success = 1;
// start magic
var dateString = getDateString(offset);
$jq.ajax({
type: "GET",
async: false;
url: "_xml/carousel/home/carousel_large_"+dateString+".xml",
dataType: "xml",
success: HPCarousels.heroCarousel.parseXML,
error: function(){
success = 0;
}
});
}
if (!success) {
alert('Error Loading XML Content');
}
关于javascript - 正在加载文件名中包含今天日期的 XML 文件...如果不存在具有今天日期的文件,则需要回退到旧文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2999446/