Один из способов сделать это - установить заголовок AMP-Redirect-To
в ответе ( См. AMP-form-redirection ). Отправьте пользовательский ввод при отправке формы, а затем сгенерируйте нужный URL-адрес из конечной точки API и установите заголовок AMP-Redirect-To
в своем ответе на сгенерированный URL.
Еще один способ сделать это - использовать действие navigateTo(url=STRING)
( См. AMP Actions & Events ) для события отправки формы. В этом случае вы должны сохранить значение на входе в состояние, используя такие события, как input-throttled
, а затем использовать подстановку URL-адреса в строке URL-адреса navigateTo
для добавления значения amp-состояния.
Первый метод гарантированно работает.
Второй метод должен работать теоретически, но я не смог понять, как получить значение AMP-STATE путем замены URL. Код для того же должен быть что-то вроде:
<form id="myform" on="submit:AMP.navigateTo(url="MY/STATIC/URL/AMP_STATE(endValue)>")">
<input type="text" id="srchInput" on="input-throttled:AMP.setState({ endValue : event.value })" />
<button type="submit"> Submit </button>
</form>
Если вы можете выяснить, как заменить значение amp-state на URL, это должно сработать. Дайте мне знать, если это помогло.