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

In AEM Forms sono inclusi i gestori di errori e di successo 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 di 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.

Ignora 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 agli 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.