私は比較的新しいjavascriptですが、バグの原因を知っていますが、これをリファクタリングして動作させる方法がわかりません。JQuery "ajax"メソッドのクロージャで作業する
for (...) {
var variableQueryValue = i
addLink.bind('click', function() {
$.ajax({
type: 'POST',
url: '/example',
data: 'queryvalue=' + variableQueryValue,
success: function(data) {
console.log('Got into success method!');
}
});
});
}
だから基本的に私たちは、データの属性ごとに反復を変更するいくつかのvariableQueryValueに依存しているいくつかの要素にクリックイベントをバインドしています。バインド関数ハンドラが終了するため、ajaxリクエストでは、各繰り返しに対して同じ値のvariableQueryValueを使用するイベントハンドラをバインドします。
更新されたvariableQueryValueが考慮されるようにこれをどのようにリファクタリングすることができますか?
ありがとうございました!
回答ありがとうございます。他にもお答えいただいたおかげです。私は見て、私の状況に最適なものを見てみましょう:) – PolandSpring
これらの回答の多くは、同じ構文(またはほぼ同じもの)を、異なる構文で使用しています。だから、あなたのコードを書く方法は、本当に個人的な好みです。 –