API om de service voor formuliergegevensmodellen aan te roepen vanuit adaptieve formulieren api-to-invoke-form-data-model-service-from-adaptive-forms
de Adobe adviseert gebruikend de moderne en verlengbare gegevens vangen Componenten van de Kernvoor het creƫren van nieuwe Aangepaste Formsof het toevoegen van Aangepaste Forms aan de pagina's van AEM Sites. Deze componenten betekenen een aanzienlijke vooruitgang in de aanmaak van Adaptive Forms en zorgen voor indrukwekkende gebruikerservaring. In dit artikel wordt een oudere aanpak beschreven voor de auteur Adaptive Forms die gebruikmaakt van stichtingscomponenten.
Overzicht overview
Met AEM Forms kunnen auteurs van formulieren de invulervaring van formulieren verder vereenvoudigen en verbeteren door services aan te roepen die vanuit een adaptief formulierveld zijn geconfigureerd in een formuliergegevensmodel. Om de dienst van het gegevensmodel aan te halen, kunt u of een regel in de visuele redacteur tot stand brengen of JavaScript specificeren gebruikend guidelib.dataIntegrationUtils.executeOperation
API in de coderedacteur van de regelredacteur.
Dit document is gericht op het schrijven van een JavaScript met de API guidelib.dataIntegrationUtils.executeOperation
om een service aan te roepen.
De API gebruiken using-the-api
De API van guidelib.dataIntegrationUtils.executeOperation
roept een service aan vanuit een adaptief formulierveld. De API-syntaxis ziet er als volgt uit:
guidelib.dataIntegrationUtils.executeOperation(operationInfo, inputs, outputs)
De structuur van de API van guidelib.dataIntegrationUtils.executeOperation
specificeert details over de de dienstverrichting. De syntaxis van de structuur ziet er als volgt uit.
var operationInfo = {
formDataModelId,
operationTitle,
operationName
};
var inputs = {
inputField1,
inputFieldN
};
var outputs = {
outputField1,
outputFieldN
}
De API-structuur geeft de volgende details over de servicebewerking op.
Voorbeeldscript om een service aan te roepen sample-script-to-invoke-a-service
In het volgende voorbeeldscript wordt de guidelib.dataIntegrationUtils.executeOperation
API gebruikt om de getAccountById
-servicebewerking aan te roepen die in het employeeAccount
-formuliergegevensmodel is geconfigureerd.
De bewerking getAccountById
neemt de waarde in het employeeID
-formulierveld op als invoer voor het argument empId
en retourneert de werknemernaam, het accountnummer en het rekeningsaldo voor de corresponderende employee. De uitvoerwaarden worden ingevuld in de opgegeven formuliervelden. De waarde in het argument name
wordt bijvoorbeeld ingevuld in het argument fullName
form element and value for accountNumber
in het formulierelement account
.
var operationInfo = {
"formDataModelId": "/content/dam/formsanddocuments-fdm/employeeAccount",
"operationName": "getAccountDetails"
};
var inputs = {
"empid" : employeeID
};
var outputs = {
"name" : fullName,
"accountNumber" : account,
"balance" : balance
};
guidelib.dataIntegrationUtils.executeOperation(operationInfo, inputs, outputs);
API gebruiken met callback-functie using-the-api-callback
U kunt de service van het formuliergegevensmodel ook aanroepen met de API van guidelib.dataIntegrationUtils.executeOperation
met een callback-functie. De API-syntaxis ziet er als volgt uit:
guidelib.dataIntegrationUtils.executeOperation(operationInfo, inputs, outputs, callbackFunction)
De callback-functie kan success
- en failure
callback-functies hebben.
Sampletcript van de steekproef met succes en mislukkingscallback functies callback-function-success-failure
In het volgende voorbeeldscript wordt de guidelib.dataIntegrationUtils.executeOperation
API gebruikt om de GETOrder
-servicebewerking aan te roepen die in het employeeOrder
-formuliergegevensmodel is geconfigureerd.
De bewerking GETOrder
neemt de waarde in het Order ID
formulierveld als invoer voor het argument orderId
en retourneert de waarde voor het aantal orders in de callback-functie success
. Wanneer de callback-functie success
niet het aantal orders retourneert, geeft de callback-functie failure
het Error occured
-bericht weer.
success
gebruikt, worden de uitvoerwaarden niet in de opgegeven formuliervelden ingevuld.var operationInfo = {
"formDataModelId": "/content/dam/formsanddocuments-fdm/employeeOrder",
"operationTitle": "GETOrder",
"operationName": "GETOrder"
};
var inputs = {
"orderId" : Order ID
};
var outputs = {};
var success = function (wsdlOutput, textStatus, jqXHR) {
order_quantity.value = JSON.parse(wsdlOutput).quantity;
};
var failure = function(){
alert('Error occured');
};
guidelib.dataIntegrationUtils.executeOperation(operationInfo, inputs, outputs, success, failure);