I am working on Salesforce1 (Aura platform). I am trying to pass values from client-side (javascript) to server-side controller(Apex-code). I tried by using setParams();
in JavaScript and @key
annotation in Apex but @key
is not supported in Apex.
Thanks in advance.
I am giving sample code here...
APPLICATION code:
<aura:application>
<PlumQ:example/>
</aura:application>
COMPONENT code:
<aura:component model="PlumQ.ExampleServerSideController">
<aura:attribute name="firstName" type="String" default="HELLO worlD"/>
<ui:inputtext label="Name" aura:id="id1" value="{!v.firstName}" placeholder = "enter name" />
<ui:button label="Native Aura Button" press="{!c.echo}"/>
</aura:component>
**client-side-controller(JAVASCRIPT):**
({
"echo" : function(component) {
alert('in client-Side-process');
var b =component.get("v.firstName");
alert('firstnaaaaame:::::::::::::'+b);
var a = component.get("m.serverEcho");
alert('After ServerSide Process');
a.setParams({ firstName : component.get("v.firstName") });
a.setCallback(this, function(action) {
if (action.getState() === "ERROR") {
alert("Server Error: " + action.getError()[0].message);
}
else{
alert("From server: " + action.getReturnValue());
}
});
$A.enqueueAction(a);
} })
server-side-controller(APEX CLASS):
public class ExampleServerSideController {
@AuraEnabled
public static String serverEcho(@Key("firstName") String firstName){
System.out.println("In Example Trival controllerrrrr"+firstName);
return ("From server: " +firstName);
}
}