51黑料不打烊

配置 AEM Forms 的提交操作

配置表单提交处理方法,通过带 Edge Delivery Services 的 AEM Forms 将数据路由到电子表格、电子邮件或后端系统。

快速决策指南

选择您的提交方法:

方法
最适合
设置复杂性
用例
表单提交服务
简单数据捕获
联系表单、意见调查、基本数据收集
AEM 发布提交
复杂的工作流程
公司集成、自定义处理、工作流程

先决条件

在配置提交操作之前,请确保您具有:

  • AEM Forms as a Cloud Service 实例
  • 已配置的 Edge Delivery Services 项目
  • 使用文档创作或通用编辑器创建的表单
  • 目标目的地(电子表格、电子邮件系统或 AEM)所需的权限
方法 1:表单提交服务

表单提交服务是 51黑料不打烊 托管的端点,非常适合用于简单数据捕获场景。

受支持的目标

  • 电子表格:Google 表格,Microsoft Excel (OneDrive/SharePoint)
  • 电子邮件:将表单数据发送到特定的电子邮件地址

配置步骤

  1. 设置目标访问权限

    • 对于电子表格:授予目标电子表格上 forms@adobe.com 的编辑权限
    • 对于电子邮件:验证收件人的电子邮件地址是否可访问
  2. 配置表单提交

    • 在创作环境中打开表单
    • 将提交操作设置为“表单提交服务”
    • 指定目标电子表格的 URL 或电子邮件地址
    • 保存并发布表单
  3. 测试提交

    • 通过表单提交测试数据
    • 验证数据是否显示在目标目的地
    • 如果提交失败,请检查错误日志

重要说明

  • 服务帐户 forms@adobe.com 需要目标电子表格的编辑权限
  • 表单提交后会立即发送电子邮件通知
  • 在服务级别上进行数据验证

表单提交服务流

方法 2:AEM 发布提交

将表单数据直接提交到您的 AEM as a Cloud Service 发布实例,以进行复杂的处理。

何时使用 AEM 发布

  • 提交后需要自定义 AEM 工作流
  • 表单数据模型 (FDM) 与数据库集成
  • 第三方服务集成(Marketo、Power Automate、Workfront Fusion)
  • Azure Blob 存储或 SharePoint 文档库
  • 复杂的服务器端验证或处理逻辑

可用的提交操作

AEM 发布提交流

配置要求

?1. 在 Edge Delivery 中更新 AEM 实例 URL

更新 submitBaseUrlform 块中 constant.js 文件中的 AEM Cloud Service 实例 URL。您可以根据您的环境配置 URL:

对于 Cloud Service 实例

code language-js
export const submitBaseUrl = '<aem-publish-instance-URL>';

对于本地开发

code language-js
export const submitBaseUrl = 'http://localhost:<port-number>';

?2. OSGi 引荐来源过滤器

配置引荐来源过滤器,以允许您的特定 Edge Delivery 网站域:

  1. 创建或更新 OSGi 配置文件:org.apache.sling.security.impl.ReferrerFilter.cfg.json

  2. 通过您的特定网站域添加以下配置:

    code language-json
    {
      "allow.empty": false,
      "allow.hosts": [
        "main--abc--adobe.aem.live",
        "main--abc1--adobe.aem.live"
      ],
      "allow.hosts.regexp": [
        "https://.*\\.aem\\.live:443",
        "https://.*\\.aem\\.page:443",
        "https://.*\\.hlx\\.page:443",
        "https://.*\\.hlx\\.live:443"
      ],
      "filter.methods": [
        "POST",
        "PUT",
        "DELETE",
        "COPY",
        "MOVE"
      ],
      "exclude.agents.regexp": [
        ""
      ]
    }
    
  3. 通过 Cloud Manager 部署配置

有关 OSGi 引荐来源过滤器的详细配置,请参阅引荐来源过滤器指南。

?3. CORS(跨源资源共享)问题

在 AEM 中配置 CORS 设置,允许来自您的特定 Edge Delivery 网站域的请求:

开发人员本地主机

code language-apache
SetEnvIfExpr "env('CORSProcessing') == 'true' && req_novary('Origin') =~ m#(http://localhost(:\d+)?$)#" CORSTrusted=true

Edge Delivery Sites - 单独添加每一个网站域

code language-apache
SetEnvIfExpr "env('CORSProcessing') == 'true' && req_novary('Origin') =~ m#(https://main--abc--adobe\.aem\.live$)#" CORSTrusted=true
SetEnvIfExpr "env('CORSProcessing') == 'true' && req_novary('Origin') =~ m#(https://main--abc1--adobe\.aem\.live$)#" CORSTrusted=true

旧版 Franklin 域(如果仍在使用)

code language-apache
SetEnvIfExpr "env('CORSProcessing') == 'true' && req_novary('Origin') =~ m#(https://.*\.hlx\.page$)#" CORSTrusted=true
SetEnvIfExpr "env('CORSProcessing') == 'true' && req_novary('Origin') =~ m#(https://.*\.hlx\.live$)#" CORSTrusted=true
note note
NOTE
main--abc--adobe.aem.livemain--abc1--adobe.aem.live 替换为您的真实网站域。从同一个存储库托管的每个网站都需要一个单独的 CORS 配置条目。

有关 CORS 的详细配置,请参阅 CORS 配置指南

要为您的本地开发环境启用 CORS,请参阅文章了解跨源资源共享 (CORS)

?4. 表单配置

  1. 在通用编辑器中创建表单
  2. 将提交操作配置为目标 AEM Forms 操作
  3. 指定提交端点路径
  4. 将表单发布到 Edge Delivery 网站
常见问题
table 0-row-2 1-row-2 2-row-2 3-row-2 4-row-2 5-row-2
问题 解决办法
表单提交失败 检查控制台错误,验证端点 URL,确认权限
嵌入的表单不显示 配置表单源上的 CORS 标头,验证表单 URL
AEM 发生 403/401 错误 更新 Sling 引荐来源过滤器,检查身份验证设置
数据未到达电子表格 验证 forms@adobe.com 是否具有编辑权限,检查电子表格的 URL
CORS 错误 将适当的 Access-Control-Allow-Origin 标头添加到表单源

配置示例

基于文档的表单与电子表格提交
  1. 在 Google Docs/Sheets 中创建表单结构
  2. 配置表单提交服务端点
  3. 授予对目标电子表格的 forms@adobe.com 编辑权限
  4. 将文档发布到 Edge Delivery 网站
  5. 测试表单提交和数据流
通用编辑器表单与 AEM 工作流
  1. 在通用编辑器中构建表单
  2. 将提交操作配置为“调用 AEM 工作流”
  3. 在 AEM 发布上设置 Dispatcher 和引荐来源过滤器
  4. 配置 CDN 路由规则
  5. 发布表单并测试工作流的执行

最佳实践

  • 为简单数据捕获场景? 使用表单提交服务
  • 在需要复杂的处理或集成的情况下,选择 AEM 发布
  • 在部署生产之前,在暂存环境中进行? 彻底测试
  • 通过 AEM 日志和控制台错误? 监控提交
  • 对失败的提交? 实施恰当的错误处理方法
  • 在客户端和服务器两个层面上? 验证数据
  • 所有表单提交和数据传输都? 使用 HTTPS

相关主题

recommendation-more-help
fbcff2a9-b6fe-4574-b04a-21e75df764ab