Show Menu
ARGOMENTI×

Invio asincrono di moduli adattivi

Tradizionalmente, i moduli Web sono configurati per l'invio sincrono. Nell'invio sincrono, quando gli utenti inviano un modulo, vengono reindirizzati a una pagina di conferma, a una pagina di ringraziamento o, in caso di invio non riuscito, a una pagina di errore. Tuttavia, esperienze Web moderne come applicazioni a pagina singola stanno acquisendo sempre maggiore popolarità, dove la pagina Web rimane statica mentre l'interazione client-server avviene in background. È ora possibile fornire questa esperienza con i moduli adattivi configurando l'invio asincrono.
Nell'invio asincrono, quando un utente invia un modulo, lo sviluppatore del modulo inserisce un'esperienza separata, come il reindirizzamento ad un altro modulo o a una sezione separata del sito Web. L'autore può inoltre collegare servizi separati come l'invio di dati a un archivio dati diverso o l'aggiunta di un motore di analisi personalizzato. In caso di invio asincrono, un modulo adattivo si comporta come un'applicazione a pagina singola, in quanto il modulo non viene ricaricato o il relativo URL non viene modificato quando i dati del modulo inviato vengono convalidati sul server.
Per ulteriori informazioni sull'invio asincrono nei moduli adattivi, consultare il documento.

Configurare l'invio asincrono

Per configurare l'invio asincrono per un modulo adattivo:
  1. In modalità di creazione moduli adattivi, selezionare l'oggetto Contenitore modulo e toccare per aprirne le proprietà.
  2. Nella sezione Proprietà invio , abilitare Usa invio asincrono.
  3. Nella sezione Al momento dell'invio , selezionare una delle opzioni seguenti da eseguire in caso di invio corretto del modulo.
    • Reindirizza a URL : Reindirizza all'URL o alla pagina specificati all'invio del modulo. Potete specificare un URL o individuare il percorso di una pagina nel campo URL/percorso di reindirizzamento.
    • Mostra messaggio : Visualizza un messaggio all'invio del modulo. È possibile scrivere un messaggio nel campo di testo sotto l'opzione Mostra messaggio. Il campo di testo supporta la formattazione RTF.
  4. Toccate per salvare le proprietà.

Funzionamento dell'invio asincrono

I AEM Forms forniscono gestori di errori e di successo out-of-the-box per l'invio dei moduli. I gestori sono funzioni lato client che vengono eseguite in base alla risposta del server. Quando un modulo viene inviato, i dati vengono trasmessi al server per la convalida, che restituisce una risposta al client con informazioni sull'evento success o error per l'invio. Le informazioni vengono trasmesse come parametri al gestore interessato per eseguire la funzione.
Inoltre, autori e sviluppatori di moduli possono scrivere regole a livello di modulo per ignorare i gestori predefiniti. Per ulteriori informazioni, vedere Ignorare i gestori predefiniti utilizzando le regole .
Esaminiamo innanzitutto la risposta del server per gli eventi di successo e di errore.

Risposta del server per l'evento di successo invio

La struttura per la risposta del server per l'evento di successo dell'invio è la seguente:
{
  contentType : "<xmlschema or jsonschema>",
  data : "<dataXML or dataJson>" ,
  thankYouOption : <page/message>,
  thankYouContent : "<thank you page url/thank you message>"
}

La risposta del server in caso di invio corretto del modulo include:
  • Tipo formato dati modulo: XML o JSON
  • Dati del modulo in formato XML o JSON
  • Opzione selezionata per reindirizzare a una pagina o visualizzare un messaggio come configurato nel modulo
  • URL pagina o contenuto del messaggio come configurato nel modulo
Il gestore di eventi di successo legge la risposta del server e reindirizza quindi all'URL di pagina configurato o visualizza un messaggio.

Risposta del server all'evento di errore di invio

La struttura per la risposta del server all'evento di errore di invio è la seguente:
{
   errorCausedBy : "<CAPTCHA_VALIDATION or SERVER_SIDE_VALIDATION>",

   errors : [
               { "somExpression" : "<SOM Expression>",
                 "errorMessage"  : "<Error Message>"
               },
               ...
             ]
 }

La risposta del server in caso di errore nell'invio del modulo include:
  • Motivo dell’errore, convalida CAPTCHA non riuscita o convalida lato server
  • Elenco di oggetti errore, che include l'espressione SOM del campo con errore di convalida e il messaggio di errore corrispondente
Il gestore errori legge la risposta del server e visualizza di conseguenza il messaggio di errore sul modulo.

Ignorare i gestori predefiniti utilizzando le regole

Gli sviluppatori di moduli e gli autori possono scrivere regole, a livello di modulo, nell'editor di codice per ignorare i gestori predefiniti. La risposta del server per gli eventi di successo e di errore è esposta a livello di modulo, a cui gli sviluppatori possono accedere utilizzando $event.data nelle regole.
Effettuate le seguenti operazioni per scrivere le regole nell'editor di codice per gestire gli eventi di successo e di errore.
  1. Aprite il modulo adattivo in modalità di creazione, selezionate un oggetto modulo qualsiasi e toccate per aprire l'editor di regole.
  2. Selezionare Modulo nella struttura Oggetti modulo e toccare Crea .
  3. Selezionate Editor di codice dal menu a discesa di selezione della modalità.
  4. Nell'editor di codice, tocca Modifica codice . Toccate Modifica nella finestra di dialogo di conferma.
  5. Scegliete Invio o Errore nell&#39;invio dall'elenco a discesa Evento .
  6. Scrivete una regola per l'evento selezionato e toccate Fine per salvare la regola.