visualforceを触っていて「javaScriptからApexのメソッドを呼び出したい!」
という機会がありましたので、今回はその方法についてです。
目次
javaScriptからApexのメソッドの呼び出し
javaScriptからApexのメソッドを呼び出すときは、
@RemoteAction
を使用します。
使い方は以下のサンプルのように使用します。
public class TestPageController {
@RemoteAction
public static void doSample(String st, Integer num){
/*******
* 処理
*******/
}
}
javaScriptから呼び出されるメソッドに「@RemoteAction」をつけます。
「@RemoteAction」がつけられたメソッドはstaticで、かつglobalまたはpublicである必要があります。
<apex:page controller="TestPageController">
<a href="https://www.xxxxxxxxxxxxx.com" onClick="doSample()" target="_blank">
クリック
</a>
<script>
function doSample() {
var st = '文字列';
var num = 10000;
TestPageController.doSample(st, num, function(result, event){
if(result){
console.log("Success");
}else{
console.log("Error");
}
});
}
</script>
</apex:page>
サンプルコードなので具体的な処理は記載していませんが、
ひとまず上記のような書き方でjavaScriptからApexメソッドを呼び出すことが可能です。
今回は以上です。
コメント