【问题标题】:AEM/ CQ | Not able to acces Sling Servlet from Source outside AEMAEM/ CQ |无法从 AEM 外部的源访问 Sling Servlet
【发布时间】:2016-09-21 07:09:51
【问题描述】:

我有一个 SlingServlet,我试图通过从 AEM 外部的 html 进行 ajax 调用来访问它。起初它可以工作,但现在我收到以下错误:

test.html:1 XMLHttpRequest 无法加载 http://localhost:4502/bin/DamHandlerr.html?imgURL=http://s3.amazonaws.com/f…iles-aviary-prod-us-east-1/2016-05-24/3dfa830ede7b44c4a88e872b22875c85.png。 请求中不存在“Access-Control-Allow-Origin”标头 资源。因此不允许访问 Origin 'null'。

有人可以在这里指导我吗?

【问题讨论】:

  • 这个SO post 有一个指针,可以使用自定义过滤器在 AEM 中启用 CORS

标签: aem


【解决方案1】:

这种类型的请求称为CORS(跨域资源共享)。如果您希望 AJAX 客户端主机/端口调用另一个主机/端口 URL,则服务器需要添加适当的标头以告知客户端允许调用不同的主机服务器。

您需要添加 Access-Control-Allow-Origin 标头以允许 AJAX 客户端成功访问不同的源 URL。

有时在现代浏览器 AJAX 客户端中,会发出额外请求以检查资源是否可以安全访问,称为 Pre-flight Requests,在这种情况下,将需要额外的标头作为响应,如 linkthis link 中所列。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-02-16
    • 2018-04-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-09-27
    • 2020-03-30
    相关资源
    最近更新 更多