force.com開発でAjax使いたいときに重宝するJavaScript Remotingだが、

コンソール上で以下のエラーが出て動かなくなってしまった。

JSRemotingError

 

エラーメッセージは

“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