ホームページ >ウェブフロントエンド >jsチュートリアル >Ajaxコールバック関数にパラメータを渡す正しい方法

Ajaxコールバック関数にパラメータを渡す正しい方法

不言
不言オリジナル
2018-07-02 16:44:493118ブラウズ

この記事では、ajax コールバック関数の正しいパラメーターの受け渡し方法を主に紹介します。必要な友達はそれを参照してください。友達は間違いを書くことに慣れています。

Attribute メソッドはパラメータを取ることができます:

function ClassX(name) { 
this.name = name; 
ClassX.prototype.show = function (param) { 
alert(this.name + " " + param); 
}; 
} 
var o = new ClassX("name"); 
o.show("param");//name param

ただし、参照は関数シグネチャで直接定義されていますが、 o.show('param') がそれ自体で呼び出されず、他の関数コールバックを介して渡された場合は、パラメータを取得できない可能性があります。 ajax

request.onreadystatechange=function(param){...}

または

request.onreadystatechange =callBack;function callBack(param) を使用する場合など、このメソッドを呼び出すときに他の人がこのパラメータを渡さない可能性があるため、機能します。 ){...}

は、現時点では ajax が param パラメーターをまったく渡さないため、使用するのは簡単ではありません。 正しい方法は次のとおりです。

//request.onreadystatechange = orgEval;//错误作法 

//request.onreadystatechange = function (request, pOrgName) {//错误作法 
// orgEval(request, pOrgName); 
//}; 

//... 
request.onreadystatechange = function () {//正确作法 
orgEval(request, pOrgName);//在匿名函数内调用回调实现,并直接传入参数,这里用到了JavaScript的闭包性质 
}; 
//... 

function orgEval(req, orgName){ 
//... 
}

この方法は、匿名関数のコールバック実装関数で呼び出します。 、パラメータを直接渡します。

ajax は onreadystatechange のコールバック関数にパラメーターを渡します

ここ数日、ajax を学習し始めましたが、テスト ページを作成していたときに、XMLHttpRequest.onreadystatechange のコールバック関数にパラメーターを渡す必要がありました。 Baidu を検索したところ、このことについて多くの人が話していることがわかりました。見つかったメソッドはおそらく次のようなものです:

xmlHttp.onreadystatechange=function(){callback(a,b);};

2 つのパラメータ a と b が渡されます。

後、自分で方法を発見しました。方法を知っている人はたくさんいると思いますが、Baiduでは見つけられなかったので、ここに書き留めて宣伝します。

xmlHttp.a=a;
xmlHttp.b=b;
xmlHttp.onreadystatechange=callback;
.
.
function callback()
{
    if(this.readyState==4)
    {
        a=this.a;
        b=this.b;
    .
    }
}

つまり、xmlHttp オブジェクトに 2 つの属性を追加し、これを直接使用してコールバック関数でそれらの 2 つの属性を呼び出します。

さらに、私自身の経験について話させてください。最初は、xmlHttp をグローバル変数として記述するのが最善でしたが、一部のリクエストは目的を達成できませんでした。後で、xmlHttp が関数内に記述されていることがわかりました。その関数の実行が終了すると、xmlHttp のライフ サイクルも終了しました。このようにして、一部のリクエストはライフサイクルの終了前に実装され、一部のリクエストは消滅します。

以上がこの記事の全内容です。その他の関連コンテンツについては、PHP 中国語 Web サイトをご覧ください。

関連する推奨事項:

Ajax の get および post リクエストの概要


XML ドキュメントを Ajax で走査する方法について


以上がAjaxコールバック関数にパラメータを渡す正しい方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。