[ruby-sajax Top]

Sajax クラス

sajax.rb で定義されています。

使い方の流れは example_multiply.rb を見てください。

クラスメソッド:

Sajax.new([params])

Sajax クラスのオブジェクトを作ります。 params にハッシュを渡すことで、 パラメータを指定できます。

sajax= Sajax.new({:debug_mode => true, :remote_uri => "server.cgi"})
params[:debug_mode]
true にすると、JavaScriptの実行中にデバッグ用のメッセージが表示されます。
params[:remote_uri]
HTMLを出力するCGI(クライアント)とJavaScriptから呼ばれるCGI(サーバ)が別々、 という場合には、ここでサーバのURIを指定します。
params[:request_type]
"GET" か "POST" です。長い引数を送る場合は "POST" がいいでしょう。 省略すると "GET" になります。
params[:mb_support]
マルチバイト文字サポートを無効にするには false を指定します。 引数のデコード、文字コードの変換をやらなくなります。
params[:kcode]
Rubyスクリプト内での文字コードを $KCODE の形式で指定します。 エクスポートした関数の引数/戻り値はこの文字コードになります。 省略すると $KCODE と同じになります。 $KCODE も指定されていない場合はUTF-8とみなします。

メソッド:

export(func_name) { ... }
export(func_name, proc)
export(func_name)

func_name という名前の関数を定義して、JavaScriptから呼べるように(エクスポート)します。

関数が呼び出されると、与えたブロックまたは proc.call が実行されます。 JavaScriptからの呼び出し方は example_multiply.rb を参照してください。

3番目の形式は、クライアントとサーバを別CGIにした場合に、 クライアントで使う関数を宣言するために使います。

handle_client_request()

JavaScriptからの関数呼び出しである場合は、ここでその関数を実行して終了します。

そうでない場合は、何もしません。

javascript

Sajaxが生成するJavaScriptのソースです。

これを<head>の<script>タグの中に埋め込んでください。

debug_mode
remote_uri
request_type
mb_support
kcode
Sajax.new のパラメータで指定した、それぞれの値です。