AMP PHP контактную форму не перенаправлять (Google AMP)

У меня есть HTML-форма в AMP с действием POST; PHP-файл для электронной почты использует Sendgrid API. Я попытался ответить заголовки для перенаправления Json, но не работает.

По этой причине я применил перенаправление JavaScript (да, я знаю, это генерирует ошибку для проверки AMP, но мне нужно перенаправить на страницу благодарности для отслеживания онлайн-конверсий).

PHP-файл работает нормально, все письма отправляются, но без перенаправления JavaScript, только с успехом div или ошибкой при отправке электронной почты, только я вижу ошибку при отправке электронной почты, но, что противоречиво, все электронные письма отправляются, это без проблем LOL через Sendgrid API).

Итак, мне нужно перенаправить контактную форму HTML с правильным ответом Json заголовка PHP (без JavaScript) для отслеживания онлайн-конверсий и правильной проверки моего HTML-источника AMP. В другом случае, я думаю, это очень полезно сделать правильное перенаправление из файла PHP после успешной отправки (чтобы я попытался перенаправить с местоположением заголовка в PHP, но, не работает …)

Форма:

<form method="post"class="p2"action-xhr="//example.com/path/themex/amp-theme/path/file.php"target="_top">
<div class="ampstart-input inline-block relative m0 p0 mb3">
<input type="text"class="block border-none p0 m0"name="name"placeholder="Nombre"required>
<input type="tel"class="block border-none p0 m0"name="tel"placeholder="Teléfono"required>
</div>
<select name="store"id="store">
<option value="San Antonio">San Antonio</option>
<option value="Santiago Centro">Santiago Centro</option>
<option value="San Bernardo">San Bernardo</option>
<option value="Puente Alto">Puente Alto</option>
<option value="Rancagua">Rancagua</option>
<option value="Chillán">Chillán</option>
<option value="Talca">Talca</option>
<option value="Concepción">Concepción</option>
<option value="Los Ángeles">Los Ángeles</option>
<option value="Linares">Linares</option>
<option value="Valdivia">Valdivia</option>
<option value="Temuco">Temuco</option>
<option value="Puerto Montt">Puerto Montt</option>
</select>
<label for="sucursal"class="absolute top-0 right-0 bottom-0 left-0">Selecione una Ciudad</label>
<input type="submit"value="Enviar"class="ampstart-btn caps" onclick="redirectThanks()">
<script>
function redirectThanks() {
window.location = "https://www.example.com/thanks-page/amp/";
}
</script>
<div submit-success>
<template type="amp-mustache">
Success! Thanks {{name}} for trying the
<code>amp-form</code> demo! Try to insert the word "error" as a name input in the form to see how
<code>amp-form</code> handles errors.
</template>
</div>
<div submit-error>
<template type="amp-mustache">
Error! Thanks {{name}} for trying the
<code>amp-form</code> demo with an error response.
</template>
</div>
</form>

1

Решение

Я заметил, что вы указываете Access-Control-Expose-Headers заголовок, и только добавил AMP-Access-Control-Allow-Source-Origin к этому. amp-form документы утверждать, что AMP-Redirect-To также должен быть разоблачен.

Попробуй это:

header("Access-Control-Expose-Headers: AMP-Access-Control-Allow-Source-Origin, AMP-Redirect-To");

Если это не сработает, попробуйте открыть инструменты разработчика браузера и добавить любые ошибки консоли в свой вопрос. Если что-то идет не так, платформа AMP обычно пишет в консоли очень полезные сообщения об ошибках, которые полезны для диагностики проблем.

1

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector