首页 文章

Api Gateway不允许Access-Control-Allow-Origin

提问于
浏览
2

此URL位于AWS API Gateway中,方法get和stage已得到很好的部署 . 我在aws document之后启用了CORS .

以下是启用CORS的步骤 .

-Resource-> action-> enable CORS-> default setting - >启用CORS并替换CORS头 . CORS结果中没有错误日志 .

我不是专业的Web开发人员,我的浏览器是safari .
这是我查询“http://my.com”的代码

function request(idex) {
 var xmlHttp = new XMLHttpRequest();
 xmlHttp.onreadystatechange = function() { 
    if (xmlHttp.status == 200)
        callback(xmlHttp.responseText);
 }
 xmlHttp.open("GET", "http://my.com", true);  
 xmlHttp.send(null);}

控制台打印错误:XMLHttpRequest无法加载“http://my.com”Access-Control-Allow-Origin不允许原点http://example.com .

如果javascript请求或API网关部署中存在一些错误?

2 回答

  • 2

    交叉起源问题来自服务器端而不是javascript端 . 当服务器不允许来自其他域的请求时,它会抛出跨源错误 . 但是你说你已经在aws实例中添加了CORS

    由于javascript仅从my.com访问该服务,您需要在my.com网站中添加适当的域映射,以告知该请求将来自另一个名为example.com的域 . 可能是服务器配置不正确 . 或尝试服务器是否期望任何标头 .

    尝试在任何其他客户端看到结果,如soapui,chrome中的rect客户端插件等,一旦确认服务器没有问题,请从javascript尝试

    要测试,您可以尝试使用Chrome插件

    https://chrome.google.com/webstore/detail/allow-control-allow-origi/nlfbmbojpeacfghkpbjhddihlkkiljbi?hl=en

  • 2

    咨询并尝试每种方法后,我发现错误如下 .

    根据AWS文档,我们无法在启用CORS之前部署我们的api . 必须在部署之前设置有关标头和CORS的所有设置 . 但API网关不会阻止此设置,也不会显示任何错误对话框 . 即使您的设置过程显示成功,API网关也不会更改标头 .

相关问题