- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
问题:如果日期是银行假日,如何使用 API 返回 bool 值?
我做了一些研究,发现了一个很棒的免费 API,其中包含银行假期,但是我在使用它时遇到了问题:http://holidayapi.com/
如果我要使用此代码:
var year = 2016;
var month = 3;
var day = 25;
var isAHoliday = false;
$.getJSON(
"http://holidayapi.com/v1/holidays?country=GB&year=" + year + "&month=" + month + "&day=" + day, function (data) {
console.log(data); //DOES NOT DISPLAY IN CONSOLE
if (data.holidays.length > 0) {
// BANK HOLIDAY
isAHoliday = true;
}
else {
//IS NOT BANK HOLIDAY
//AND NOTHING NEEDS TO BE DONE
}
});
我希望能够返回 true 或 false 值,具体取决于是否返回任何数据,但是我做错了,因为未调用 getJSON 请求,请有人纠正我哪里错了?
http://holidayapi.com/v1/holidays?country=GB&year=2016&month=03&day=25返回{"status":200,"holidays":[{"name":"Good Friday","country":"GB","date":"2016-03-25"}]}
http://holidayapi.com/v1/holidays?country=GB&year=2016&month=03&day=26返回{"status":200,"holidays":[]}
这似乎导致了问题: "http://holidayapi.com/v1/holidays?country=GB&year="+ 年 + "&month="+ 月 + "&day="+ day;
如果我传递上面 2 个 URL 之一,我会得到正确的结果,我现在正在玩这个
最佳答案
如果您只想在所选日期是假日时返回 true
值,或者如果不是假日则返回 false
值,则可以使用如下函数:
(请注意,jsfiddle 不会使用“http://”协议(protocol)对 URL 执行任何 AJAX 调用,因为它不安全。)
function isDateAHoliday(y, m, d) {
var jsonURL = "http://holidayapi.com/v1/holidays?country=GB&year=" + y + "&month=" + m + "&day=" + d;
var isAHoliday = false;
$.getJSON(jsonURL, function (data) {
// If the date is a holiday
if (data.holidays.length > 0) {
// Do some things
isAHoliday = true;
}
// Check values
console.log("JSON DATA: ", data);
console.log("Holiday?: " + isAHoliday);
return isAHoliday;
});
}
isDateAHoliday("2016", "3", "25");
如果您还想返回假期的名称和国家/地区,可以在 if
语句中替换 isAHoliday = data.holidays[0];
。
关于javascript - 使用 HolidayAPI 处理银行假日,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36151042/
问题:如果日期是银行假日,如何使用 API 返回 bool 值? 我做了一些研究,发现了一个很棒的免费 API,其中包含银行假期,但是我在使用它时遇到了问题:http://holidayapi.com
我是一名优秀的程序员,十分优秀!