2017-02-15 9 views
-2
(function($) { 
    $('.myclass').each(function(){ 
     $(function() { 
      $.ajax({ 
       url: "myPHP.php?app", 
       method: 'GET', 
       complete: function(jqXHR, textStatus) { 
        var response = JSON.parse(jqXHR.responseText); 
        $('.myclass').html(response.app); 
       } 
      }); 
     }); 
    }); 
})(jQuery); 

私はmyclassのインスタンスが複数あり、それぞれのインスタンスをresponse.appに置き換えたいのですが、それは起こりません。複数の要素でjQueryでAJAXを使用するにはどうすればよいですか?

何が欠けていますか?

+0

あなたは正しく応答することができますか? –

+0

はいできます。それは応答して動作しますが、最初の要素.myclass – BrandenB171

答えて

4

コードを使用すると、サーバーからのすべての応答に、.myclassのすべてが変更されます。

$('.myclass').each(function() { 
    var $elem = $(this); // <-------------- Save the element for the ajax callback 
    $.ajax({ 
    url: "myPHP.php?app", 
    method: 'GET', 
    complete: function(jqXHR, textStatus) { 
     var response = JSON.parse(jqXHR.responseText); 
     $elem.html(response.app); // <-------------- Use it 
    } 
    }); 
}); 

ちなみに、要求されたURLは、特定のパラメータなしで、各呼び出しで同じように見えます。

$.ajax({ 
    url: "myPHP.php?app", 
    method: 'GET', 
    complete: function(jqXHR, textStatus) { 
     var response = JSON.parse(jqXHR.responseText); 
     $('.myclass').html(response.app); 
    } 
}); 
0

jquery's HTML機能がオフにすべての発生を置き換えを処理します。それはあなたの実際のコードでケースだ場合、あなたは、あなたのすべての要素に一つのリクエスト(なし.each())を行い、その結果を適用する必要がありますマイクラスの ですので、ajax呼び出しを行い、応答を渡すだけです

$.ajax({ 
    url: "myPHP.php?app", 
    method: 'GET' 
}).done(function(response){ 
    $('.myclass').html(response.app) 
}); 
関連する問題