Javascript Chrome CORB阻止网关lambda请求

Javascript Chrome CORB阻止网关lambda请求,javascript,node.js,cors,aws-lambda,cross-origin-read-blocking,Javascript,Node.js,Cors,Aws Lambda,Cross Origin Read Blocking,什么有效 我制作了一个简单的文字游戏。它工作得很好。用户要求的一件事是检查单词的有效性。我正在AWS Lambda Proxy/Node.js端点上运行oxford dictionary api,当我通过浏览器访问APIGateway uri时,它非常有效 我选择了AWS Lambda函数来保护我的Oxford API密钥,并具有更直接的CORS控制 采取的步骤 我在AWS APIGateway中启用了CORS,并在开发过程中使用了“*”通配符 我开始用我的本地服务器@127.0.0.1为游戏添

什么有效

我制作了一个简单的文字游戏。它工作得很好。用户要求的一件事是检查单词的有效性。我正在AWS Lambda Proxy/Node.js端点上运行oxford dictionary api,当我通过浏览器访问APIGateway uri时,它非常有效

我选择了AWS Lambda函数来保护我的Oxford API密钥,并具有更直接的CORS控制

采取的步骤

我在AWS APIGateway中启用了CORS,并在开发过程中使用了“*”通配符

我开始用我的本地服务器@127.0.0.1为游戏添加代码

遇到错误

我遇到了以下问题:

html:57跨源读取阻塞(CORB)使用MIME类型application/json阻塞跨源响应。有关更多详细信息,请参阅。 getWord@myproject.html:57 (匿名)@myproject.html:67

客户端代码

我正在使用一个简单的获取:

         var base_url = "https://XXXXXXXXXXX.execute-api.us-east-2.amazonaws.com/prod/dictionary?word=";
            getWord = function(word){
               fetch(base_url+word, {
                    headers: {
                        'content-type': 'application/json'
                    },
                    method: 'GET', 
                    mode: 'cors'
               }).then(function(response) {
                    console.log(response);
               });
            }
问题


我从未听说过科尔布。我不明白是什么触发了CORB,以及解决这个问题的步骤是什么。CORB问题是如何解决的?

我只是需要坚持下去。以防有人遇到这种情况:

尽管启用了APIGateway CORS,CORS权限还是传递给启用了lambda代理集成的lambda函数。虽然最初的URI请求在APIgateway上被接受,但由于lambda响应中缺少标头,最终失败了。不知何故,这触发了CORB而不是CORS。我不知道为什么


答案是确保在APIgateway中启用CORS,并且lambda函数响应回调模式包含“Access Control Allow Origin”头。

我也有类似的问题。我建议使用POSTMAN对其进行调试,因为它显示了标题,并允许您调整请求中所需的任何内容

在我的例子中,在添加了头之后,我不得不重新部署我的API。 附加屏幕截图,以防对某些用户有所帮助:

集成响应:

方法响应:

邮递员邮件标题响应-工作:

谢谢!这很有帮助。太棒了!!从CORB文档本身看不清楚。这救了我一天!!我正在Lamda上使用python。我也面临同样的问题。我已经启用了CORS,但我不确定如何确保lambda函数响应回调模式包含“访问控制允许源”头。你能帮忙吗?举个例子看:找到这个答案真是天赐良机,我们可能已经花了好几天的时间试图解决这个问题了!谢谢这太棒了。我相信这个答案是非常有用的,但“为什么”在当前的复选标记答案中,人们发现它是从修复方法中抽象出来的有用答案。我建议大家阅读这两个答案,以便完全理解。