私のメッセージングシステムのプッシュ通知を作成していて、奇妙なバグがあります。whileループのAjax
私は最近のメッセージを受け取るためにajaxを使用しています。私のPHPスクリプトでは、私は私の結果を調べるwhileループを持っています。したがって、それぞれ<li>
は「最近のメッセージ」です。
私の考えでは簡単です。私は<li>
にajax関数を置き、whileループを反復するので、反復から受け取った値を送信します。以下は私のPHPスクリプトです。例えば
$output .= "
<li>
<img src='$profilephoto' class='rm_pp' alt=''>
<div class='imNotification'>
<script>
function getIMNotification() {
$.ajax({
url: 'getIMNotification.php',
method: 'POST',
data:{user2:'$id'},
success:function(data) {
$('.imNotification').html(data);
}
});
}
getIMNotification();
</script>
</div>
</li>
";
私はちょうど私のAJAXから送られたuser2
値をエコーた場合、私のgetIMNotification.php
では、それぞれの結果のために同じ値をエコーします。しかし、それはwhileループにあるので、各繰り返しごとに新しい値を受け取るべきではありませんか?
関数が呼び出されていますか?エコーされる1つの値は、最後のid
です。なぜそれがそれをやっているのかについてのあらゆる論理?
機能は一つだけを持つことができます定義。ループ内で関数を定義すると、関数が呼び出されたときにだけ最後のバージョンが取得されます。 – Barmar
@Barmar Tru、しかし、彼はすぐにそれを呼んでいるので、ほとんど問題にはならない。それだけで機能ではないかもしれません。 –
'$( '.imNotification').html(data);'もちろん、スクリプトタグの近くにあるすべての '.imNotification'要素を更新します。 –