amp-html - 如何在提交到另一个页面时重定向 amp 表单?
问题描述
下面提到的代码是我的表单代码
<form class="contact100-form validate-form" method="post" action-xhr="https://www.aptadvantage.com/popup_2.php">
<div class="wrap-input100 validate-input" data-validate="Name is required">
<input class="input100" id="name" type="text" name="name" placeholder="Your Name" required>
</div>
<div class="wrap-input100 validate-input" data-validate="Phone is required">
<input class="input100" id="phone" type="number" name="phone" placeholder="Your Number" required>
</div>
<div class="wrap-input100 validate-input">
<select name="course" class="input100 label-input100" style="background: #fff;color: #909090;outline:0;" required>
<option value="">Choose Your Course</option>
<option value="NOT DECIDED">NOT DECIDED</option>
<option value="DIPLOMA IN ADVANCE SERVICE MANAGEMENT">DIPLOMA IN ADVANCE SERVICE MANAGEMENT</option>
<option value="DIPLOMA IN CABIN CREW TRAINING">DIPLOMA IN CABIN CREW TRAINING</option>
<option value="DIPLOMA IN AIRPORT & TRAVEL MANAGEMENT">DIPLOMA IN AIRPORT & TRAVEL MANAGEMENT</option>
<option value="DIPLOMA IN HOTEL OPERATION & TRAVEL MANAGEMENT">DIPLOMA IN HOTEL OPERATION & TRAVEL MANAGEMENT</option>
</select>
</div>
<div class="container-contact100-form-btn pt3">
<div class="wrap-contact100-form-btn">
<div class="contact100-form-bgbtn"></div>
<input class="button center submit_btn" type="submit" value="SUBMIT" style="color: #fff;width: 90%;margin: 30px auto; display: block;">
</div>
</div>
</form>
下面提到的代码是我上面表格的 php 代码。
<?php
if(!empty($_POST)){
$email = "test@test.com";
$name = $_POST['name'];
$course = $_POST['course'];
$phone = $_POST['phone'];
$enquiry = $_POST['enquiry'];
$formcontent=" From: $name \n Phone: $phone \n Course: $course";
$recipient = "test@test.com";
$subject = 'KNOW YOUR DISCOUNTED FEES FORM FROM HOME PAGE';
$mailheader = "From: $email \r\n";
mail($recipient, $subject, $formcontent, $mailheader) or die("Error!");
$domain_url = (isset($_SERVER['HTTPS']) ? "https" : "http") . "://$_SERVER[HTTP_HOST]";
header("Content-type: application/json");
header("Access-Control-Allow-Credentials: true");
// header("Access-Control-Allow-Headers:Content-Type, Content-Length, Accept-Encoding, X-CSRF-Token");
// header("Access-Control-Allow-Methods:POST, GET, OPTIONS");
header("Access-Control-Allow-Origin: ". str_replace('.', '-','http://fleapo.co/apt/') .".cdn.ampproject.org");
header("AMP-Access-Control-Allow-Source-Origin: " . $domain_url);
header("Access-Control-Expose-Headers: AMP-Access-Control-Allow-Source-Origin");
header("AMP-Redirect-To: https://www.aptadvantage.com");
header("Access-Control-Expose-Headers: AMP-Access-Control-Allow-Source-Origin, AMP-Redirect-To");
header('Location: https://www.aptadvantage.com');
echo json_encode(array('name' => $name));
exit;
}
?>
我面临的基本问题是,在提交表单时,页面应该重定向到另一个不会发生的页面。我希望提交时的表单被重定向到另一个页面,但页面保持原样。我正在收到已在表格中输入的详细信息。将页面重定向到另一个页面所需的代码已经存在,但它仍然不起作用。任何成员的任何帮助对我来说都是非常有成果的。感谢您阅读到最后。感谢您提前提出任何建议。
解决方案
您的响应标头中存在关于“Access-Control-Allow-Origin”的问题。出现此错误是因为显示表单的页面和发送数据的服务器位于不同的域中。确保两者都在同一个域中。您在服务器上的“Access-Control-Allow-Origin”设置为“ http://fleapo-co/apt/.cdn.ampproject.org ”。它在这里制造问题。
如果您想在不同的域中显示表单并将请求发送到其他域,而不是将“Access-Control-Allow-Origin”设置为“*”或“domain-from-you-are-going-to-request-a-” POST 方法”。设置后,您的表单和重定向将起作用。
推荐阅读
- java - 如何使用 FileOutputStream 在文件中写入整数?
- android - 我如何开发一个可以在构建虹膜扫描仪中使用该设备的 android 应用程序
- c++ - 如何在 2D 引擎中渲染超过 99 个图块
- elasticsearch - 未知的 BaseAggregationBuilder [bucket_sort] - 弹性
- python-3.x - 多个列表的列表理解 Python 2.7/3
- php - 如何在opencart中批量手动将产品分配到类别
- python-3.x - 翻译来自多个数据框列的数据以创建句子
- c - * 根据其使用的上下文有不同的含义吗?
- vue.js - 多选仅呈现前两项
- javascript - 如何使用js自动控制浏览器