小编red*_*ite的帖子

CORS 策略阻止了从 '' from origin '' 获取数据的访问:请求的资源上不存在 'Access-Control-Allow-Origin' 标头

我有这个 api(方法 get)连接到一个 lambda 函数,该函数从数据库中进行简单的选择,如果我用带有 null body 的 postman 测试端点,它确实可以工作(如果我理解,postman 不在同一个 CORS 下)政策),以及在浏览器上键入端点。 邮差

浏览器

但是,当我尝试从简单的 js 中进行提取时,出现错误:从原点“http://localhost”在“...”处获取的访问已被 CORS 策略阻止:没有“Access-Control-Allow” -Origin'标头存在于所请求的资源上。如果不透明响应满足您的需求,请将请求模式设置为“no-cors”以在禁用 CORS 的情况下获取资源。

在此输入图像描述

我在 API Gateway 中启用了 CORS,均使用启用 CORS 选项 在此输入图像描述 并在创建新资源时启用 API Gateway CORS在此输入图像描述

如果我使用网关测试我的端点,我还会发现 Allow-content-allow-origin : * 位于我的响应标头中: 在此输入图像描述

我应该怎么做才能解决这个问题?

这是 JS 获取:

    console.log("pre fetch");

Show();
console.log("post fetch");
function Show(){
fetch("...").then(onResponse);//.then(onJson);
}
function onResponse(response){
    console.log(response);
    return response.json();
}
Run Code Online (Sandbox Code Playgroud)

我删除了 onJson 以避免混淆,但即使如此,它仍然存在同样的问题。

cors aws-lambda aws-api-gateway

12
推荐指数
1
解决办法
9万
查看次数

如何将具有相同键但不同值的多个Map合并为一个Map

我有这样的n 地图:

HashMap<String,Double> map1;
HashMap<String,Double> map2; ...
Run Code Online (Sandbox Code Playgroud)

我该怎么做才能将所有这些地图合并为一张地图

我想在不丢失数据的情况下实现这一目标。

例子:

map1 has entries: {<X1, Y1>, <X2,Y2>, <X3,Y3>} 
Run Code Online (Sandbox Code Playgroud)
map2 has entries: {<X1, Y6>, <X2, Y7>, <X3,Y8>}
Run Code Online (Sandbox Code Playgroud)
mergedMap: {<X1, Y1+Y6>, <X2,Y2+Y7>, <X3, Y3+Y8>}
Run Code Online (Sandbox Code Playgroud)

我已经尝试过这个:

ArrayList<HashMap<String, Double>> listHashMap = new ArrayList<>();
            
HashMap<String,Double> mergedMap = new HashMap<>();
for(HashMap<String,Double> map: listHashMap) {  
    mergedMap.putAll(map);          
}
Run Code Online (Sandbox Code Playgroud)

但我知道映射到同一键的值将被替换(put),而不是添加。

我该怎么做才能将映射到同一键的每个值相加?

java list hashmap

4
推荐指数
1
解决办法
5024
查看次数

标签 统计

aws-api-gateway ×1

aws-lambda ×1

cors ×1

hashmap ×1

java ×1

list ×1