Javascript Chrome CORB阻止网关lambda请求
什么有效 我制作了一个简单的文字游戏。它工作得很好。用户要求的一件事是检查单词的有效性。我正在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 客户端代码 我正在使用一个简单的获取: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为游戏添
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函数响应回调模式包含“访问控制允许源”头。你能帮忙吗?举个例子看:找到这个答案真是天赐良机,我们可能已经花了好几天的时间试图解决这个问题了!谢谢这太棒了。我相信这个答案是非常有用的,但“为什么”在当前的复选标记答案中,人们发现它是从修复方法中抽象出来的有用答案。我建议大家阅读这两个答案,以便完全理解。