我正在使用reactjs构建一个前端唯一的基本天气应用程序。对于API请求,我使用Fetch API。在我的应用程序中,我从一个简单的API获取当前位置,它以JSON对象的形式给出了位置。但是当我通过获取API请求它时,我得到了这个错误。
Failed to load http://ip-api.com/json: Request header field Access-Control-Allow-Origin is not allowed by Access-Control-Allow-Headers in preflight response.
所以我搜索并找到了多种解决方案来解决这个问题。
那么,我怎样才能永久性地解决这个问题呢?在FetchAPI中解决http请求的CORS问题的最佳解决方案是什么?
您应该使用代理解决方案,但将客户端的IP而不是代理传递给它。以下是您使用维基媒体的IP指定的API的示例URL格式:
http://ip-api.com/json/208.80.152.201
该API似乎是允许的,响应为访问控制允许源代码:
我还没有弄清楚是什么导致了你的问题,但我不认为这仅仅是获取应用编程接口。
这对我来说在Firefox和Chrome上都很好。。。
fetch('http://ip-api.com/json')
.then( response => response.json() )
.then( data => console.log(data) )
如果您正在进行发布、发布或补丁请求,则必须使用JSON. stringify(data)正文对数据进行Stringify。
fetch(URL,
{
method: "POST",
body: JSON.stringify(data),
mode: 'cors',
headers: {
'Content-Type': 'application/json',
}
}
).then(response => response.json())
.then(data => {
....
})
.catch((err) => {
....
})
});
下面是API调用的代码 所以当我检查应用程序时,我会... 我如何解决CORS问题,以便能够从API获取所需的详细信息到应用程序?
我在获取API时遇到了一些问题。当我启动这段代码时: 从 http://quenouillere.fr/,它可以毫无问题地工作。但是当我想从 https://quenouillere.fr/ 使用它时,它不适用于CORS问题。它检测到源不一样(因为是http谁发起请求,https谁接收它)我在互联网上搜索,但似乎没有人有这个问题。 https上的CORS问题 谢谢你提前的回答:)
一切正常,但我想隐藏单词以使命令更简短。 如果我在编写命令时没有单词 显示以下内容: Docker:尝试连接到unix上得Docker后台程序套接字时获得得权限被拒绝:///var/run/Docker.sock:Post http://%2fvar%2frun%2fdocker.sock/v1.35/containers/create:拨号unix/var/run/Docker.sock:con
我只是从我当地的回购协议中克隆了一个Android项目,我很难“构建”它。也许它错过了一些外部图书馆,但我不知道。 在开始等级构建时,我得到以下信息: 我试着检查“清单”文件,但我找不到。我完全迷路了... 我很确定这是一个配置错误,因此我可以在这里找到所有的配置文件: settings.gradle代码 (来自项目文件夹内)的输出如下:
我创建了一个 xsd,并将其与 jaxb 插件(如波纹管)一起使用: 插件: 它给我生成了这样的类: 我使用这个Camel路径来取消xml的共享: 但是当我运行我的应用程序时,我得到了下面的错误... [路线2][未封印1][未封印org.apache.camel.model.dataformat.JaxbDataFormat@7aff8796][ 0] 堆栈跟踪-----------------