Wordpress Ninja Forms、Access-Control-Allow-Origin 和 admin-ajax.php

Posted

技术标签:

【中文标题】Wordpress Ninja Forms、Access-Control-Allow-Origin 和 admin-ajax.php【英文标题】:Wordpress Ninja Forms, Access-Control-Allow-Origin and admin-ajax.php 【发布时间】:2018-02-25 02:25:41 【问题描述】:

所以,我在 Heroku 上安装了这个 WP,并在其中安装了 Ninja 表单。尽管在本地一切正常,但当我将其推送到 Heroku 时,表单未提交,我通过 Chrome 的控制台收到此错误:

Failed to load https://ratts.com.br/wp-admin/admin-ajax.php: No 
'Access-Control-Allow-Origin' header is present on the requested
resource. Origin 'http://ratts.com.br' is therefore not allowed 
access. The response had HTTP status code 503.

值得一提的是,仅当我通过http 访问页面时才会出现此错误,但是当我通过https 访问页面时,表单工作得很好,因为我认为是CORS问题。任何人都知道如何解决这个问题?已经研究了三天没有成功... rsrs

【问题讨论】:

您能否将所有 http 请求转发/重定向到 https 对应方?但似乎该网站的 http 版本正在发布到 https 版本,反之亦然。我会尝试禁用该站点的 http 版本 - 或使站点名称/标题包含 https(如果还没有)。希望你能得到解决。 “响应的 HTTP 状态代码为 503。” 仅表示“服务不可用”。这似乎是您需要确定原因并修复的实际问题。该响应中没有“Access-Control-Allow-Origin”标头的事实实际上并不重要,因为服务器告诉您存在一些致命错误 - 一些服务器端故障 - 这会阻止服务器进一步进行. (许多或大多数服务器不会将 'Access-Control-Allow-Origin' 标头添加到 5xx 或 4xx 错误响应中,而只会将该标头添加到 2xx 成功响应中。) 【参考方案1】:

我相信同一域的 http 到 https 仍被视为 CORS。您需要确保所有流量都从 http 重定向到 https。 Take a look at this thread.

【讨论】:

以上是关于Wordpress Ninja Forms、Access-Control-Allow-Origin 和 admin-ajax.php的主要内容,如果未能解决你的问题,请参考以下文章

WordPress - Ninja Forms:如何以编程方式编辑保存的提交?

自定义 jQuery 不适用于 Wordpress Ninja Forms 插件

使用 Ninja Forms 在 WordPress 上寻址和设置 2 个日期选择器字段

提示:如何在 Ninja Forms Wordpress 插件中向文本区域添加占位符

Wordpress Ninja Forms、Access-Control-Allow-Origin 和 admin-ajax.php

如果 Webhooks 响应错误,则停止 Ninja Forms 的进度