Rad*_*dio 11 javascript node.js cors aws-lambda cross-origin-read-blocking
什么有效
我有一个简单的文字游戏我已经建立.它很棒.用户要求的一件事是单词有效性检查.我在AWS Lambda Proxy/Node.js端点上运行牛津词典api,当我通过浏览器访问APIGateway uri时,它运行良好.
我选择了AWS Lambda函数来保护我的Oxford API密钥,并且具有更直接的CORS控制.
采取的步骤
我在AWS APIGateway中启用了CORS,并在开发期间使用了"*"通配符.
我开始使用我的本地服务器@ 127.0.0.1对游戏进行编码.
遇到错误
我遇到了以下问题:
myproject.html:57跨源读取阻止(CORB)阻止跨源响应https://XXXXXXXXXXX.execute-api.us-east-2.amazonaws.com/prod/dictionary?word=help与MIME类型application/JSON.有关详细信息,请参阅https://www.chromestatus.com/feature/5629709824032768.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);
});
}
Run Code Online (Sandbox Code Playgroud)
这个问题
我从未听说过CORB.我不明白什么是触发CORB,以及解决这个问题的步骤是什么.如何解决CORB问题?
Rad*_*dio 16
我显然需要坚持下去.万一有人碰到这个:
尽管启用了APIGateway CORS,但在启用Lambda代理集成的情况下,CORS权限将传递给lambda函数.尽管APIgateway接受了初始URI请求,但由于lambda响应中缺少头文件,它最终失败了.不知怎的,这触发了CORB而不是CORS.我不知道为什么.
答案是确保CORS在APIgateway和lambda函数响应回调格局包含"访问控制允许来源"头启用.
| 归档时间: |
|
| 查看次数: |
6395 次 |
| 最近记录: |