当前位置: 首页 > 知识库问答 >
问题:

Wordpress表单操作不适用于AMP

邹嘉石
2023-03-14

我试图在wordpress中使用AMP与表单动作。我使用action-xhr与POST方法。

当我提交表单时,它会给出错误信息

  • 响应必须包含AMP-访问-控制-允许-源-起源头
  • 表单提交失败:错误:响应必须包含AMP-访问-控制-允许-源-源头

甚至尝试添加标题,如下所示

标头(AMP-访问-控制-允许-源-起源:https://www.demo.com);

这个问题仍然存在。有什么建议吗?

我使用的是wordpress版本5.0.3

共有2个答案

袁羽
2023-03-14

如果使用WordPress的官方AMP插件,这些标题将通过AMP_HTTP::send_cors_headers()方法自动发送。

有关插件行为的更多信息,请参阅处理表单提交剧本。

裴实
2023-03-14

您可以使用. htaccess文件设置标头。

Header set Access-Control-Allow-Origin 'https://cdn.ampproject.org​'
Header set AMP-Access-Control-Allow-Source-Origin 'https://your-domain.com'

或者给你举个简单的例子;

function amp_comment_submit(){
  $comment = wp_handle_comment_submission( wp_unslash( $_POST ) );
  if ( is_wp_error( $comment ) ) {
    $data = intval( $comment->get_error_data() );
    if ( ! empty( $data ) ) {
      status_header(500);
      wp_send_json(array('msg' => $comment->get_error_message(),
                        'response' => $data, 
                        'back_link' => true ));
    }
  }
  else {
    @header('AMP-Redirect-To: '. get_permalink($_POST['comment_post_ID']));
    @header('AMP-Access-Control-Allow-Source-Origin: ' . $_REQUEST['__amp_source_origin'] );
    wp_send_json(array('success' => true));
  }
}
add_action('wp_ajax_amp_comment_submit', 'amp_comment_submit');
add_action('wp_ajax_nopriv_amp_comment_submit', 'amp_comment_submit');

更多信息:https://medium.com/@surajair/creating-comment-form-on-amp-pages-in-wordpress-9dd675ba383b

 类似资料:
  • 问题内容: 我通过AJAX和WordPress分页加载了一些帖子,并使用以下函数来计算分页: 问题是通过AJAX创建了分页,因此使此链接看起来像: 但是,我想要达到的实际URL就是为此: 有没有办法在AJAX上使用此功能,并且仍然获得正确的分页URL? 问题答案: 我可以为您想到三个选择: 编写自己的版本将允许您指定基本URL 在调用时覆盖变量 要调用该函数,请返回整个分页的HTML,然后使用JS

  • 拖放操作不适用于selenium 3.8。 下面是该元素的JS代码 这就是我尝试过的。但这只是选择元素。保持和放弃是不会发生的。 我也试过这个。 也尝试过机器人。每次我只能看到源元素和目标元素都被选中。但不是被拖拽掉的。 还尝试了dragAndDrop ActionsChain。那也没用。

  • 我在SQL Server 2014上使用Kafka Connect和Confluent MSSQL connector。我尝试了插入和更新操作,它们工作正常,将正确的记录推送到Kafka。如果我删除了一条记录,我会收到以下关于Kafka主题的消息: 相反,我希望删除记录的详细信息。 我使用以下命令启用CDC:

  • 我将按照此答案中的说明生成以下S3桶策略: 我返回以下错误: 操作不适用于语句中的任何资源 我的政策遗漏了什么?

  • 我正在使用JSON API插件与我的wordpress页面,get_recent_posts json的数组大小约为250个帖子。例如,当我调用 http://www.example.org/api/get_recent_posts/ 在浏览器中查看这些帖子时,我得到一个空白页面,控制台中没有错误。但是,如果我限制例如 http://www.example.org/api/get_recent_p

  • 表单操作 表单为页面的主要组成部分,其中包含许多的表单控件。用户通过控件提供数据并提交给服务器,服务器则做出相应的处理。而编写一个正常工作的表单需要三个部分: 构建表单 服务器处理(提供接受数据接口) 配置表单 构建表单 <form> <p><label>姓名:<input></label></p> <p><label>电话:<input type="tel"></label></p>