Как работать с данными, возвращенными после отправки формы - PullRequest
0 голосов
/ 13 ноября 2018

У меня есть форма AMP, которая вызывает веб-сервис при отправке, и после этого у меня есть JSON как результат. JSON содержит данные, и для их просмотра я использую шаблон amp-mustache в submit-success div. И все работает нормально. Я вижу все данные, которые мне нужны. Но я не могу получить доступ к этим данным извне submit-success div. Так как мне нужно установить некоторые элементы управления в моей форме, которые выходят за пределы submit-success div, мне нужно получить доступ к результату JSON вне submit-success div. Кто-нибудь может поделиться, как я могу это сделать?

1 Ответ

0 голосов
/ 14 ноября 2018

Один из способов сделать это - сохранить ваш ответ JSON в состояние. Это можно сделать с помощью атрибута on формы, чтобы установить состояние для события submit-success следующим образом:

<form id="form123" 
      action-xhr="/formHandle" 
      method="POST"
      on="submit-success:AMP.setState({ msg : event.response.message })"
>

Теперь вы можете использовать это состояние для реализации вашей логики управления в любом месте вашей страницы, используя его с выражением amp-bind. Например,

<p class="" [text]=" 'Response is :' + msg">

Если вы просто хотите выполнить общие действия, такие как скрыть, показать, переключить аккордеон, прокрутить, открыть ящик с надписью и т. Д., Вы можете сделать это, используя соответствующее действие AMP внутри атрибута on для события submit-success, без использования amp-bind.

...