【问题标题】:AWS S3 static website ajax callback failsAWS S3 静态网站 ajax 回调失败
【发布时间】:2015-01-14 15:24:12
【问题描述】:

最近,当网站开发正在进行时,我开始在 aws s3 上托管一个带有订阅选项的静态网页。我的静态网页使用订阅者的电子邮件作为参数对另一个 RESTful 服务进行 ajax 调用。订阅完成后,我需要通知订阅者。在这里,它与回调接缝了一个问题。

$.ajax({
    type: 'GET',
    url: 'http://www.my-domain.com/api/Subscribe?email=' + email
}).success(function (data) {
    if (data) {
        alert('Thank you for registering!');
    }
});

订阅完成后“.success(”没有启动。对请求的响应是:

Reload the page to get source for: http://www.my-domain.com/api/Subscribe?email=john.smith@simplyemail.com

有人知道这是 s3 功能还是其他什么?

【问题讨论】:

  • 任何解决方案? @maxim
  • @theChinmay,很遗憾,没有,我放弃了 s3 作为网站托管。
  • 谢谢。你现在用什么?
  • 开发结束后,它将托管在标准 EC2 实例上。
  • 谢谢@maxim。我们还转向了 EC2 实例。 :)

标签: ajax amazon-s3 static-site


【解决方案1】:

根据您的描述,这似乎与CORS 政策有关。

查看亚马逊定义的"why CORS"

为了保证您的内容安全,您的网络浏览器实施了一种称为同源策略的东西。

默认策略确保脚本和其他活动内容 从一个站点或域加载不能干扰或交互 来自其他位置的内容,但没有明确表明此 是期望的行为。

在某些情况下,原始页面的开发者可能有 编写与内容交互的代码的正当理由或 其他地点的服务。 CORS 提供了允许 开发者告诉浏览器允许这种交互。

我明白了:

[...] ajax 调用另一个 RESTful 服务[...]

表示调用另一个服务器,这可能会因为CORS而被浏览器阻止。

参考资料:

Mozilla W3C

【讨论】:

    猜你喜欢
    • 2016-05-05
    • 2018-06-28
    • 1970-01-01
    • 2015-08-08
    • 1970-01-01
    • 1970-01-01
    • 2021-06-25
    • 2018-03-22
    • 2013-12-12
    相关资源
    最近更新 更多