Prototype-ajax-request
提供:Dev Guides
プロトタイプ-AJAX Request()メソッド
このAJAXメソッドは、AJAX要求を開始および処理します。 このオブジェクトは汎用のAJAXリクエスターです。リクエストのライフサイクルを処理し、ボイラープレートを処理し、カスタムニーズに合わせてコールバック関数をプラグインできます。
オプションのオプションハッシュでは、カスタムニーズに応じてonCompleteやonSuccessなどのコールバック関数を使用できます。
構文
new Ajax.Request(url[, options]);
オブジェクトが作成されるとすぐに、リクエストを開始し、ライフサイクル全体を通して処理を続けます。 定義されたライフサイクルは次のとおりです-
- 作成した
- 初期化済み
- リクエストを送信しました
- 応答を受信しています(パケットが到着するたびに何度も発生する可能性があります)
- 応答を受信し、要求が完了しました
link:/prototype/prototype_ajax_options [Ajax Options、]で定義されている一連のコールバック関数があり、次の順序でトリガーされます-
- onCreate(これは実際にはlink:/prototype/prototype_ajax_responders [AJAXグローバルレスポンダ)に予約されたコールバックです])
- onUninitialized(作成済みのマップ)
- onLoading(初期化のマップ)
- onLoaded(送信されたリクエストのマップ)
- onInteractive(受信する応答のマップ)
- onXYZ(数値応答ステータスコード)、onSuccessまたはonFailure(以下を参照)
- onComplete
移植性
ブラウザが_XMLHttpRequest_を実装する方法によっては、1つ以上のコールバックが呼び出されることはありません。 特に、これまで_onLoaded_と_onInteractive_は100%安全な賭けではありません。 ただし、グローバル_onCreate 、 onUninitialized_、および2つの最終ステップは非常に保証されています。
戻り値
新しいAjax.Request
PeriodicalUpdaterの無効化と有効化
stopメソッドを呼び出すだけで、実行中のPeriodicalUpdaterのブレーキを引くことができます。 後で再度有効にする場合は、startメソッドを呼び出すだけです。 どちらも引数を取りません。
例
<html>
<head>
<title>Prototype examples</title>
<script type = "text/javascript" src = "/javascript/prototype.js"></script>
<script>
function SubmitRequest() {
new Ajax.Request('/cgi-bin/ajax.cgi', {
method: 'get',
onSuccess: successFunc,
onFailure: failureFunc
});
}
function successFunc(response) {
if (200 == response.status) {
alert("Call is success");
}
var container = $('notice');
var content = response.responseText;
container.update(content);
}
function failureFunc(response) {
alert("Call is failed" );
}
</script>
</head>
<body>
<p>Click submit button see how current notice changes.</p>
<br/>
<div id = "notice">Current Notice</div>
<br/>
<br/>
<input type = "button" value = "Submit" onclick = "SubmitRequest();"/>
</body>
</html>
*ajax.cgi* のコンテンツは次のとおりです。
#!/usr/bin/perl
print "Content-type: text/html\n\n";
print "This content is returned by AJAX cgi <br/>";
print "Current Time " . localtime;
出力
パラメータとHTTPメソッド
あなたはオプションのパラメータプロパティとしてリクエストのパラメータを渡すことができます-
new Ajax.Request('/some_url', {
method: 'get',
parameters: {company: 'example', limit: 12}
});