プロトタイプでの AJAX 応答テキストの取得
AJAX 応答は多くの場合テキスト形式であり、このテキストの取得はその後の処理にとって重要です。プロトタイプは、この応答テキストにアクセスする便利な方法を提供しますが、通常のアプローチに若干の調整が必要です。
コード スニペットでは、onComplete イベント ハンドラーが応答テキストを取得する場所です。ただし、初期実装の "result" 変数は、非同期操作のため、onComplete 関数の外部からはアクセスできません。
これを克服するために、Prototype の onComplete ハンドラーでは、パラメーターとしてコールバック関数を使用できます。このコールバック関数は、AJAX リクエストが完了したときに実行され、responseText を引数として受け取ることができます。
変更されたコードは次のとおりです。
somefunction: function(callback) { var result = ""; myAjax = new Ajax.Request(postUrl, { method: 'post', postBody: postData, contentType: 'application/x-www-form-urlencoded', onComplete: function (transport) { if (200 == transport.status) { result = transport.responseText; callback(result); } } }); }
somefunction を呼び出すときに、コールバック関数を指定します。匿名関数として:
somefunction(function (result) { alert(result); });
このアプローチにより、コールバック関数内で応答テキストにアクセスできるようになり、さらなる処理や表示します。
以上がプロトタイプの `onComplete` ハンドラーを使用して AJAX 応答テキストにアクセスするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。