force.com開発でAjax使いたいときに重宝するJavaScript Remotingだが、
コンソール上で以下のエラーが出て動かなくなってしまった。
エラーメッセージは
“Visualforce Remoting Exception: Method ‘ScheduleActivityTaskDecision’ not found on controller SWFTestController. Check spelling, method exists, and/or method is RemoteAction annotated. “
って書いてあるが、@RemoteActionちゃんとつけてるし、クラスもメソッドもちゃんと存在しているし
VF呼び出し側には{!$RemoteAction.[controller].[method]}の形式で
グローバル変数使った書き方してて、コンパイルもちゃんと通る。
ハマりの住人になりかけたが、Google様が以下のWebサイトを紹介してくれました。
https://developer.salesforce.com/forums/ForumsMain?id=906F000000097OUIAY
http://enreeco.blogspot.jp/2013/01/apex-javascript-what-is-remoteaction.html
つまりは、定義されていない変数使うとこのエラーが出るっぽい。
boolean型のパラメータにnullを入れてもダメって書いてあったけど、私のところでは再現せず…。
ちなみに私はjQueryで$(”#hogehoge”).val()で値を取得しようとしたのは良いものの
存在しないIDを指定してたからでしたorz