此网址位于AWS API网关中,方法get和stage已得到很好的部署。 我在aws document之后启用了CORS。
以下是启用CORS的步骤。
-Resource-> action->启用CORS-> 默认设置 - >启用CORS并替换CORS标头。 CORS结果中没有错误日志。
我不是专业的网络开发者,我的浏览器是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网关部署中有错误?
答案 0 :(得分:2)
交叉来源问题来自服务器端而不是javascript端。当服务器不允许来自其他域的请求时,它会抛出跨源错误。但是你说你已经在aws实例中添加了CORS
由于javascript仅从my.com访问该服务,您需要在my.com网站中添加适当的域映射,以告知该请求将来自另一个名为example.com的域。可能是服务器配置不正确。或尝试服务器是否期望任何标题。
尝试在服务器中确认服务器没有问题后,在任何其他客户端(如soapui,chrome中的rect客户端插件等)中查看结果,从javascript尝试
要测试您可以尝试使用Chrome插件
答案 1 :(得分:2)
在咨询并尝试每种方法后,我发现错误如下。
根据AWS文档,我们无法在启用CORS之前部署我们的api。必须在部署之前设置有关标头和CORS的所有设置。 但API网关不会阻止此设置,也不会显示任何错误对话框。即使您的设置过程显示成功,API网关也不会更改标题。