0

Webrick を使用してサーバーから Web ページを実行しています。Web ブラウザからイベントをキャプチャするにはどうすればよいですか? JavaScript を介して実行したくはありませんが、webrick を介して応答を取得し、おそらくdo_...メソッドの 1 つを使用して Ruby で処理したいと考えています。JavaScript が最低限必要な場合は、それで問題ありません。別のページにリダイレクトしたくありません。イベント ( など) の値に何を入力すればよいかわかりませんonclick

<input type=button onclick="..." value="Press Me">
4

3 に答える 3

0

私の知る限り、Webrick は Ruby の HTTP サーバーです。イベント ハンドラーから HTTP サーバーと通信するには、JavaScript コードを記述する必要があります。例えば:

<input type=button onclick="javascript:send(this);" value="Press Me">

次に send() 関数を定義します。

function send(event) {
   // Create Ajax request to the server
}
于 2011-06-13T04:28:49.587 に答える
0

あなたはajaxを説明しているように聞こえます。試す:

link_to "target", {:controller => controller, :action => method, }, :remote => true

このSOの回答から:

Rails 3でlink_to_functionはどこに消えましたか?

編集:申し訳ありませんが、あなたがRubyを求めていたとき、私はRailsを想定していました。

于 2011-06-13T04:32:11.860 に答える
0

苦労した後、このページの助けを借りて、私が望んでいたものに近づいたようです:

xxx.html

<input type="button" value="Click me" onclick="onclick('value to pass');" />

xxx.js

function onclick(v){
  e=new XMLHttpRequest();
  e.open("GET", "http://localhost:3000?t=0&"+v, true);
  e.onreadystatechange=function(){if (e.readyState==4 && e.status==200){
    // some code to rewrite if necessary
  };};
  e.send();
}

xxx.rb

class WEBrick::HTTPServlet::AbstractServlet
  def do_GET request, response
    # some code to process the request
    response.body = a_return_string_for_rewriting
    response.status = 200
  end
end
于 2011-06-13T07:25:16.407 に答える