- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
目标:从至少 3 个 API 获取几天的 precipIntensity。主要问题:Cross-Origin Request Blocked,导致数据未定义。什么是跨源请求?我该如何解决这个干扰 If() 语句并将收集到的 JSON 数据收集到聚合中以获取平均沉淀的问题?更新的解决方案:
//Get the back dated times and current in UNIX,
//later make a lookup that gives datediff from current date and user's date and adjust index i condition to equal exact days.
var totalPrecipSinceDate;
var threeDayAPITimes = [];
for (var i = 0; i <= 2; i++) //place user userData-1 where i <= input
{
var myDate = new Date(); //http://stackoverflow.com/questions/7693170/javascript-convert-from-epoch-string-to-date-object
var epoch = myDate.getTime();
var unixEpoch = Math.round(epoch/1000)
threeDayAPITimes[i] = Math.round(unixEpoch - (86400 * i));
}
//Plan to convert UNIX dates to display
//List of locations: LATITUDE,LONGITUDE
var locations = ["46.3494,-85.5083"]
//setup a server-side proxy which would hide the API key from the client side
var currentAPIKey ="privateKey"; //gets an APIkey from user input.
var listAPIs = "";
$.each(threeDayAPITimes, function(i, time) {
var darkForecastAPI= "https://api.forecast.io/forecast/" + currentAPIKey + "/" + locations + "," + time +"?callback=?";
$.getJSON(darkForecastAPI, {
tags: "WxAPI[" + i + "]", //Is this tag the name of each JSON page? I tried to index it incase this is how to refer to the JSON formatted code from the APIs.
tagmode: "any",
format: "json"
}, function(result) {
// Process the result object
var eachPrecipSum = 0;
if(result.currently.precipIntensity >=0 && result.currently.precipType == "rain")
{
$.each(result, function() {
eachPrecipSum += (this.currently.precipIntensity);
totalPrecipSinceDate += eachPrecipSum ; ///Write mean precip
alert(eachPrecipSum );
});
}
});
});
最佳答案
跨源请求是指您向另一个域发出请求。为了保护用户,默认情况下不允许这样做。浏览器使用同源策略。这意味着您只能在同一域上发出请求。
您无法解决跨源请求问题。 forecast.Io 的所有者必须使用 HTTP header 授权您的域。我猜他们不会那样做。基本上,CORS 让源代码控制谁可以使用 API,而不是消费者。
您最好的选择可能是解决该限制。您将需要使用 JSONP。他们支持这一点,但在他们的 documentation 中注意到这一非常明智的警告。 :将 API 响应返回为 JSONP。使用它时请小心,因为将您的 API key 公开给公众是一种安全隐患,如果被滥用,将导致您的 API key 被吊销。但是,如果开发个人或内部使用的应用程序,这是一种方便的方法。
要启用 JSONP,只需输入 ?callback=?作为您的 URL 的查询字符串。这将使 jQuery 设置 JSONP。在您的示例中,您可以在构建 URL 的任何地方执行此操作,因此在这里:
var darkForecastAPI= "https://api.forecast.io/forecast/" + currentAPIKey + "/" + locations + "," + time +"?callback=?";
但是,正如他们所说,您的 API key 已暴露,所以要小心。如果可能,请在您的服务器上创建一个服务器端 Web 服务,充当您的 JavaScript 与其 API 之间的代理。不确定这是否可行,但在他们的网站上,他们提供了一个用 PHP 编写的,您可以很容易地用任何语言编写一个。
让我也为您介绍一下 JSONP 的背景知识,因为这可能是您第一次听说它。有风险。与返回对象的 JSON 不同,JSONP 实际上调用了一个 JS 函数并直接执行代码。这意味着如果存在恶意站点,它可能会造成损害。我不会太担心 forecast.Io,但如果它是一些 shadyrussianmp3 网站,我会小心!它的工作方式是注入(inject)一个 <script src="http://forecast.io/blah/blah/blah/?callback=jquery_12345" ></script>
在您的页面中标记。脚本标签没有同源限制。该文件基本上将 JSON 对象包装到对 jquery_12345 的调用中,jQuery 为您抽象了它,因此它可以正常工作。除了安全之外,另一个缺点是没有好的方法来检测故障。 JQuery 将通过超时来提供帮助,它可以用来“假设”失败,但您不会收到 500 错误或任何与真正的 JSON 类似的错误。
关于javascript - 跨源请求被阻止 : Multiple API; need to aggregate data,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29997210/
刚刚收到一条错误消息,内容为“union __anonymous 只能是聚合的一部分”。我对此并不感到困惑,因为我正在尝试一些我知道不应该起作用的东西。 但这让我想知道 D 中“聚合”的确切定义是什么
我最近在研究ES,发现可以达到几乎相同的结果,但是对于这两者之间的 DIFFERENCE ,我不清楚。 "Filter then Aggregation" POST kibana_sample_dat
给定用户和订单表,我需要计算在注册日期后的第二天首次下单的用户。 我设法通过以下查询列出了此类用户: SELECT users.first_name as first_name, users.
我有我的文档,它们包含嵌套的“事件”(如网站上的点击)文档。 现在我想计算 name=x 的嵌套事件和 name=y 的嵌套事件之间的比率 这是我的查询: curl -XGET http://192.
在我的项目中,我发现需要以分层方式打破我的聚合,使用顶级根级别聚合,以确保根级别的规则一致性,然后我的根下的对象可以分组为各种聚合。在计算根级聚合的完整性时,根验证自己的规则,然后委托(delegat
我想通过 MongoTemplate 执行的代码: { $merge: { into: 'someCollection', on: "_id",
在过去的两周里,我一直在研究DDD,而真正令我难忘的一件事是聚合根如何包含其他聚合根。从存储库中检索聚合根,但是如果一个根包含另一个根,该存储库是否具有对另一个存储库的引用,并要求其构建子根? 最佳答
我对如何设计聚合有疑问。 我有Company , City , Province和 Country实体。其中每一个都需要是其自身聚合的聚合根。 City , Province和 Country实体在整
我对如何设计聚合有疑问。 我有Company , City , Province和 Country实体。其中每一个都需要是其自身聚合的聚合根。 City , Province和 Country实体在整
我目前正在开发 DDD 应用程序,我对如何处理似乎必须从另一个聚合根访问聚合根的场景感到困惑。这是我的边界上下文的概述: 用户可以加入该站点并就他们感兴趣的主题创建帖子。他们还可以创建群组并针对他们创
我正在用 reSolve 做我的第一个项目,但在 DDD、ES 和 CQRS 方面的经验有限。所以,也许有一个非常简单的解决方案,但我还没有找到。 我的问题:在我的项目中,一个聚合的状态(订单状态)实
https://howtoprogram.xyz/2017/02/18/using-group-apache-cassandara/ 我试图在 azure cosmos cassandra db 中执
使用 Siddhi 3.0.3 作为 Java 库。 我通过扩展 AttributeAggregator 类开发了自定义聚合函数,并且在调用 processRemove() 方法后我看到了一些奇怪的行
我正在尝试对一个公司拥有许多团队的问题进行建模。有一条业务规则“每个公司的团队名称必须是唯一的”。然而,团队还有许多其他行为,例如加入。此外,一个团队可以有许多报告 - 它们维护对Team.Id的引用
我正在尝试将总计的结果相加并将其减去总计,但我看到以下错误: 想象一下这样的事情 第一个子查询:1 3 5 7第二个子查询:2 4 6 总计:(1+3+5+7) - (2+4+6) = 4 这是我的查
我有以下 DDD 场景,分为以下聚合: 用户, friend (用户协会), 文件(供用户上传), 图库(文件分组), 消息(用户通信), 群组(用户可以创建,其他成员可以加入), GroupMess
这个问题之前已经讨论过,但没有一个答案能解决我的具体问题,因为我正在处理内部和外部选择中的不同 where 子句。该查询在 Sybase 下执行得很好,但在 SQL Server 下执行时会出现本文标
上下文 我使用 Azure 门户创建了一个流作业,该门户使用每日 TUMBLINGWINDOW 聚合数据。下面附上了一个代码片段,修改自 docs ,这显示了类似的逻辑。 SELECT DAT
我正在执行以下查询 SELECT DISTINCT n.nid AS entity_id FROM node n INNER JOIN og_membership om ON n.nid=om.eti
我的各种 docker 容器都导出 prometheus 指标,但是我们的 prometheus 安装只需要从一个端点提取所有指标。不幸的是,这无法更改。因此,我需要通过安装普罗米修斯来收集所有指标。
我是一名优秀的程序员,十分优秀!