スキマハコ

わすれがちなスキマな事を詰め込んでいます。ITの他に暮らしについても書いています。

prototype.js版のajaxできたよー

jqueryと同居できないことに注意!
jqueryを前回の記述のようにしていると、「Ajaxの型が見つかりません!」といわれてしまうのです。

  • application.js
function method(page){
    try{
	var a = new Ajax.Updater(
		"result",
		"command/resultdata",
		{
			"method": "post",
			"parameters": "a=b&c=d&e=f",
			onSuccess: function(request) {
				// 成功時の処理を記述
				 alert('成功しました'+ request.responseText);
			},
			onComplete: function(request) {
				// 完了時の処理を記述
				 alert('読み込みが完了しました');
			},
			onFailure: function(request) {
				alert('読み込みに失敗しました');
			}
//			onException: function (request) {
//				何が悪いのか、必ずExceptionが発生…。requestが空っぽなので原因も分かりません。
//				alert('読み込み中にエラーが発生しました');
//			}
		}
	);
    }
}

↑は単にURLにアクセスしているだけ。
これでhtml内でid="result"の部分を書き換えようとしてます。
リクエストでもいいのかなあ。まだ試してない。

コメントアウトしている例外処理部分は成功しても、失敗してもエラー!といわれる…。
でも、コメントアウトしても、try〜catchには引っかからない。

  • controller
def resultdata
 @resultinfo = Hash::new
 @resultinfo[:hello] = "こんにちは!"
 render :partial => 'result',:object => @resultinfo , :as => :info
end
  • 部分テンプレート
<div id="result">
<h><%=info[:hello] %><
</div>

コントローラ→部分テンプレート部分はまだうまくできてないので保留…