编辑:
我更改了表单以提交一个名为amp-form-submit.php的新文件
该文件看起来像:
<?php
header("Access-Control-Allow-Credentials: true");
header("Access-Control-Allow-Origin:".$_SERVER['HTTP_ORIGIN']);
header("AMP-Access-Control-Allow-Source-Origin: https://".$_SERVER['HTTP_HOST']);
header("Access-Control-Expose-Headers: AMP-Access-Control-Allow-Source-Origin");
header("Access-Control-Expose-Headers: AMP-Redirect-To, AMP-Access-Control-Allow-Source-Origin");
if(!empty($_POST["form_submit"])){
$domain_url = (isset($_SERVER['HTTPS']) ? "https" : "http") . "://$_SERVER[HTTP_HOST]";
header("Content-Type: application/json");
$email = isset($_POST['email']) ? $_POST['email'] : '';
$output = ['email' => $email];
header("Content-Type: application/json");
echo json_encode($output);
exit;
}
?>
现在我的错误是解析响应JSON:SyntaxError:JSON失败。解析:JSON数据第1行第1列的数据意外结束
我不明白我做错了什么。下面是我测试amp表单的代码。我包括AMP访问控制允许原点标题。
这是表单提交失败时的控制台:
POST https://example.com/location/amp-lp/?__amp_source_origin=https%3A%2F%2Fexample.com 404 ()
Response must contain the AMP-Access-Control-Allow-Source-Origin header
Form submission failed: Error: Response must contain the AMP-Access-Control-Allow-Source-Origin header
出于隐私考虑,我已将URL替换为通用URL。此表单处理脚本与doctype HTML之前的HTML amp表单位于同一页面上。
if ( isset($_POST['form_submit']) ) {
$name = isset($_POST['name']) ? $_POST['name'] : '' ;
$output = [
'name' => $name
];
header("Content-type: application/json");
header("Access-Control-Allow-Credentials: true");
header("Access-Control-Allow-Origin: *.ampproject.org");
header("AMP-Access-Control-Allow-Source-Origin: https://www.example.com");
header("Access-Control-Expose-Headers: AMP-Access-Control-Allow-Source-Origin");
echo json_encode($output);
die();
}
我的表格
<form id="lp-form" target="_blank" action-xhr="https://example.com/location/url/" method="post">
<div submit-success>
Thank you! Your message has been sent.
</div>
<div submit-error>
An error occurred. Please try again.
</div>
...
<!-- inputs -->
</form>
我用这里找到的答案修复了它。我正在使用PHPMailer发送电子邮件
die('MF000');
发送电子邮件并为AMP表单设置所有标题后,但这会触发以下错误:
无法分析响应JSON:SyntaxError:JSON。解析:JSON数据的第X行第X列出现意外的数据结尾
为了修复这个错误,我简单地移除了旧模具,并简单地使用
die();
如果您仍然想要解析MF000返回代码,请使用:
echo(json_encode(['phpmailer_status'=>'MF000']));
我得到这些错误在浏览器 “响应必须包含AMP Access Control Allow Source Origin标头” 和 表单提交失败:错误:响应必须包含AMP Access Control Allow Source Origin标头" php HTML 我如何编辑它,以避免这些错误?
我想使用提交表单。向同一域内的数据库发送文本/数据。 在一个简单的表单提交后,我得到了这个未捕获的错误:。 我已经在谷歌上搜索过,大多数答案都指向我要在其中设置标题。htaccess文档,如所示: 我在继续寻找答案。
响应头 请求头 查询字符串参数 不起作用https://www.google.com.tr/amp/s/www.example.com/amp 工作www.example.com/amp 错误代码 响应必须包含AMP访问控制允许源端标题 表单提交失败:错误:响应必须包含AMP Access Control Allow Source Origin标头 等待你的帮助
问题内容: 我正在使用节点,在客户端上在后端和angular4上表达,这给了我以下错误: XMLHttpRequest无法加载http:// localhost:4876 / login / check 。对预检请求的响应未通过访问控制检查:响应中的“ Access- Control-Allow-Credentials”标头的值为“”,当请求的凭据模式为“ include”时,该值必须为“ tru
我在后端使用node、express,在客户端使用angular4,这给了我以下错误: XMLHttpRequest无法加载http://localhost:4876/login/check。对预飞行请求的响应未通过访问控制检查:响应中“access-control-allow-credentials”标头的值为“”,当请求的凭据模式为“include”时,该值必须为“true”。因此,不允许访问
响应必须包含AMP访问控制允许源站标题表单提交失败:错误:响应必须包含AMP访问控制允许源站标题 我的从 这是c代码 我需要一个代码来使用经典的asp