'Access-Control-Allow-Origin ' 失踪。我的下一步应该做什么?
'Access-Control-Allow-Origin ' Missing. What should be my next step?
我想从这里提取收益率曲线数据:
下面的获取请求 returns 一个 200 (OK) 状态代码,还有一个控制台注释,上面写着 Cross-Origin Request Blocked because CORS header 'Access-Control-Allow-Origin' missing.
$.get('http://www.treasury.gov/resource-center/data-chart-center/interest-rates/pages/XmlView.aspx?data=yieldyear&year=2015', function (data) {
$(data).find("entry").each(function () { // or "item" or whatever suits your feed
var el = $(this);
console.log("------------------------");
console.log("d:NEW_DATE : " + el.find("d:NEW_DATE").text());
console.log("d:BC_1MONTH : " + el.find("d:BC_1MONTH").text());
console.log("d:BC_3MONTH : " + el.find("d:BC_3MONTH").text());
});
});
如果 Access-Control-Allow-Origin 未设置为“*”(public),是否明确rules/laws访问数据?
遇到这些问题的共识是什么?数据显然 public 可用;我应该要求美国财政部更改他们的 Access-Control-Allow-Origin 设置以包含我的域吗? (Access-Control-Allow-Origin Multiple Origin Domains?).
同样清楚的是,在 CORS (https://www.nczonline.net/blog/2010/05/25/cross-domain-ajax-with-cross-origin-resource-sharing/) 之前存在变通方法。他们是appropriate/legal这种情况吗?如果可以,请有人推荐简明的资源来了解它们吗?
也许我应该放弃并寻找新的数据源?
我用 PHP 解决了这个问题,可以从服务器端拉取 XML 而不是从客户端 javascript 尝试导致 [=19] =] 问题。代码在这里:
$url = "http://www.treasury.gov/resource-center/data-chart-center/interest-rates/pages/XmlView.aspx?data=yieldyear&year=2015";
$xml = simplexml_load_file($url);
echo $xml->asXML();
在我的研究中,我有一段时间走错了路;我正在寻找的国债收益率曲线数据是政府 data.gov 项目的一部分。他们有一个开发人员网站 here。
我最初的想法是使用 CKAN API 但似乎它们只在 CKAN 中存储元数据,而不是实际数据。
我想从这里提取收益率曲线数据:
下面的获取请求 returns 一个 200 (OK) 状态代码,还有一个控制台注释,上面写着 Cross-Origin Request Blocked because CORS header 'Access-Control-Allow-Origin' missing.
$.get('http://www.treasury.gov/resource-center/data-chart-center/interest-rates/pages/XmlView.aspx?data=yieldyear&year=2015', function (data) {
$(data).find("entry").each(function () { // or "item" or whatever suits your feed
var el = $(this);
console.log("------------------------");
console.log("d:NEW_DATE : " + el.find("d:NEW_DATE").text());
console.log("d:BC_1MONTH : " + el.find("d:BC_1MONTH").text());
console.log("d:BC_3MONTH : " + el.find("d:BC_3MONTH").text());
});
});
如果 Access-Control-Allow-Origin 未设置为“*”(public),是否明确rules/laws访问数据?
遇到这些问题的共识是什么?数据显然 public 可用;我应该要求美国财政部更改他们的 Access-Control-Allow-Origin 设置以包含我的域吗? (Access-Control-Allow-Origin Multiple Origin Domains?).
同样清楚的是,在 CORS (https://www.nczonline.net/blog/2010/05/25/cross-domain-ajax-with-cross-origin-resource-sharing/) 之前存在变通方法。他们是appropriate/legal这种情况吗?如果可以,请有人推荐简明的资源来了解它们吗?
也许我应该放弃并寻找新的数据源?
我用 PHP 解决了这个问题,可以从服务器端拉取 XML 而不是从客户端 javascript 尝试导致 [=19] =] 问题。代码在这里:
$url = "http://www.treasury.gov/resource-center/data-chart-center/interest-rates/pages/XmlView.aspx?data=yieldyear&year=2015";
$xml = simplexml_load_file($url);
echo $xml->asXML();
在我的研究中,我有一段时间走错了路;我正在寻找的国债收益率曲线数据是政府 data.gov 项目的一部分。他们有一个开发人员网站 here。
我最初的想法是使用 CKAN API 但似乎它们只在 CKAN 中存储元数据,而不是实际数据。