I want to send an email to the user after he/she sign\'s up in my hybrid application (based on IBM Worklight 6.0).
I want to pass the parameters (email ID) of the user t
Where is the parameter? You are not passing it to the adapter procedure AFAICT.
Try the below (I did not test it end-to-end, as I don't have a server with a PHP script listening to requests).
HTML
Your email address: <input type="text" id="emailaddr"/>
<input type="button" onclick="sendEmail()" value="Submit Email Address"/>
JavaScript
function sendEmail() {
var invocationData = {
adapter : 'myAdapter',
procedure : 'sendEmailProcedure',
parameters : [$('#emailaddr').val()] // the email adrress taken from the HTML...
};
var options = {
onSuccess : success,
onFailure : failure
};
WL.Client.invokeProcedure(invocationData, options);
}
function success() {
WL.Logger.debug ("invocation succeeded.");
}
function failure() {
WL.Logger.debug ("invocation failed.");
}
myAdapter.xml
...
...
<connectivity>
<connectionPolicy xsi:type="http:HTTPConnectionPolicyType">
<protocol>http</protocol>
<domain>host-address</domain>
<port>80</port>
</connectionPolicy>
<loadConstraints maxConcurrentConnectionsPerNode="2" />
</connectivity>
<procedure name="sendEmailProcedure"/>
myAdapter-impl.js
function sendEmailProcedure(emailAddress) {
var input = {
method : 'get',
returnedContentType : 'html',
path : '/email.php?a=' + emailAddress
};
return WL.Server.invokeHttp(input);
}
See related questions: