2017-02-23 16 views
0

jqueryが複数の$ .postsを追跡し、成功したかどうかを知ることができます。私は本当に遅いインターネット接続でこのアプリケーションを実行しているので、もしこれらの投稿の山があるなら、私はどの投稿が成功したのか知りたい。私の現在のコードでは、私がscope in javascript上に読み込むことをお勧め$ ELは、コールバック関数

function go(d){ 
    $el = $("[data-id='"+ d +"']"); 

    $.post(
     'receive.php', 
     {tickets:t}, 
     function(req, err){ 
      $el.removeClass("checked"); 
    }); 
} 
+1

変数を宣言する必要があります。 – SLaks

+0

関数内で変数を宣言すると、その関数とそのすべての子関数でのみ変数を使用できます。したがって、グローバルに利用できるようにするには、グローバルスコープで宣言する必要があります。一般的な(ただし完全ではない)習慣は、 'window'オブジェクトを使用してデータを格納することです。あなたがそれをあまり偏らない(あなたのすべてのストレージに単一の変数を使用する)なら、それは問題ありません。もう一つの選択肢は、['localStorage'](https://html.spec.whatwg.org/multipage/webstorage.html#dom-localstorage)のようなもっと現代的なテクニックを使うことです。しかし、まだ完全にはサポートされていません。 –

+0

どこにも「t」は見えませんが、どこに隠れていますか? –

答えて

1

に設定されていないようです。単に$el = $("[data-id...")変数を関数のローカル(var $el = ...)にするだけで、各$.post()が呼び出されるスコープに固有のままで、コールバックで正しい要素が更新されるようにする必要があります。

関連する問題