首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >FRED API的HTTP GET请求跨域错误

FRED API的HTTP GET请求跨域错误
EN

Stack Overflow用户
提问于 2014-01-12 14:27:22
回答 2查看 340关注 0票数 0

我只是尝试使用get请求从FRED API获取数据。我一直收到“请求的资源上没有Access-Control-Allow-Origin标头。Origin null不允许访问”。我查看了所有API文档,没有引用get请求所需的任何额外内容。是否有特定的行项目可以添加到现有代码中以满足“Access-Control-Allow-Origin”标头要求?您能举例说明这些行是什么样子的吗?我将我的代码包含在工作API键中。谢谢

代码语言:javascript
运行
复制
  <!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>Untitled Document</title>
<script>

function httpGet(theUrl)
{
    var xmlHttp = null;

    xmlHttp = new XMLHttpRequest();
    xmlHttp.open( "GET", "http://api.stlouisfed.org/fred/releases/dates?api_key=1cee0e87e5e3362716028352d3d1c160", false );
    xmlHttp.send( null );
    return xmlHttp.responseText;
}
</script>



</head>

<body>
<button onclick="httpGet()">http GET</button>

</body>
</html>
EN

回答 2

Stack Overflow用户

发布于 2014-01-13 03:39:32

如果您的域名不是stlouisfed.org,您可以使用跨域请求来实现httpGet功能。因此,如果API响应没有Access-Control-Allow-Origin: *头,所有请求都将失败。据我所知,FRED API只由桌面程序使用,而不是web应用程序。

但是有一个iframe transport可以绕过这一点。我创建了html,您可以在其中按下按钮并在iframe中查看jsfiddle结果。但是我在这个jsshell站点的iframe onload事件上遇到了一个问题--它总是坏掉。您可以在您的代码中添加iframe.onload以从API获取答案,然后表单将更改iframe。

票数 0
EN

Stack Overflow用户

发布于 2014-01-13 03:49:09

我查看了所有的应用程序接口文档,没有提到get请求所需的任何额外内容。

他们的文档并不特定于在浏览器中运行的JavaScript。

有没有一个特定的行项目,我可以添加到我的现有代码,以满足这个‘访问-控制-允许-来源’头要求?

不是的。您需要从您的服务器发出请求。

你能举例说明一下这些线条是什么样子的吗?我将我的代码包含在工作API密钥中。

你的应用程序接口密钥应该保密(这是其他任何不直接使用客户端JavaScript做这件事的原因)。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21071945

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档