我对jQuery
和json
不熟悉。我正在尝试从以下API /链接获取UK Bank Holiday数据,以便我可以创建一个函数来确定所选日期是否为工作日。
https://www.gov.uk/bank-holidays.json
我的No Transport
错误,我通过输入来修复:
jQuery.support.cors = true;
我现在正在Access Denied
。我不知道如何获得这个,因为正如我所说,我仍在学习这一切。
function IsWorkingDay(date) {
var day = new moment(value, "DD-MM-YYYY").day();
jQuery.support.cors = true;
var bankHolidays = $.getJSON("https://www.gov.uk/bank-holidays.json").done(function(data) {
alert(data);
})
.fail(function(a, b, c) {
alert(b + ',' + c);
return day != 0 && day != 6;
}
});
我的问题分为两个阶段:
json
下载到我的计算机上进行查看,我将如何将其翻译为javascript
,这正是我所挣扎的。答案 0 :(得分:2)
如果您被CORS阻止,并且该服务不支持JSONP,解决它的最简单方法是为实际服务创建代理服务。因此,如果您在服务器上创建服务(与提供javascript的服务相同),您可以调用该服务,而该服务又将从外部服务获取数据。在服务器端,没有担心的CORS。
我不知道你的后端是什么,但步骤如下:
/myapp/workingday
)修改强>
我不知道MVC4,但我怀疑它与Spring MVC有一些相同的概念,所以这是一个Java示例:
@Controller
public class HolidaysController {
@RequestMapping("/workingday")
public void isworkingDay(@RequestParam("day") Date day, HttpServletResponse response) {
// Call external service and get JSON
String json = callExternalService(day);
response.setContentType("application/json");
response.getWriter().write(json);
}
}
在你的javascript中:
function IsWorkingDay(date) {
var day = new moment(value, "DD-MM-YYYY").day();
var bankHolidays = $.getJSON("/workingday").done(function(data) {
// process data
});
}
答案 1 :(得分:1)