ホームページ >ウェブフロントエンド >jsチュートリアル >コールバック関数 showResponse にパラメータ code_javascript スキルも取らせるようにします
関数デモ(){
var url="ajaxdemo.asp";
var paras = "" ;
var myAjax = new Ajax.Request(
url,
{
メソッド: 'post',
パラメータ: paras,
onComplete: showResponse
});
function showResponse(originalRequest){
var html =originalRequest.responseText;これは、prototype.js を使用した後に最も一般的に見られる Ajax コードです。showResponse はパラメーターを直接受け取ることができないため、次のようなコールバック関数を処理するのが面倒になることがあります。 as 返された HTML 値は要素に動的に挿入される必要があります。今日、私はついにこの問題を解決する方法を考えつきました。 var myAjax = new Ajax.Request(
url,
{
method: 'post',
parameters: paras,
onComplete: function(originalRequest){showResponse(originalRequest,elemID)}
});
}
関数 showResponse(originalRequest,elemID){
var html =originalRequest.responseText;
$(elemID).innerHTML = html;
匿名関数はコールバック関数として機能し、showResponse は通常のメソッドになります。概念を変えると問題はスムーズに解決します。
この問題を解決するには、次の 2 つの関数を 1 つの関数にカプセル化することもできます。
functionデモ(url,paras,updateElemID){
var myAjax = new Ajax.Request(
url,
{
メソッド: 'post',
パラメータ: paras,
onComplete: function(originalRequest){showResponse(originalRequest,updateElemID)}
}); }
function showResponse(originalRequest,elemID){
var html =originalRequest.responseText;
$(elemID).innerHTML = html;
のみ必須demo(url,paras,updateElemID) で ajax 関数を完了します。いいね。パラメータが拡張され、いくつかのアクション関数が追加された場合、特定の要素の innerHTML を更新するだけでは済みません。