메시징 시스템 용 푸시 알림을 만들고 이상한 버그가 있습니다.while 루프의 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 루프에 있기 때문에 각 반복마다 새로운 값을 받아야하지 않습니까?
함수가 호출 되었기 때문입니까? 에코되는 한 값은 이고 마지막에는 루프에있는id
입니다. 왜 그 일을하는지에 대한 논리가 있습니까?
함수는 하나를 가질 수 정의. 루프에서 함수를 정의하면 함수가 호출 될 때만 마지막 버전을 얻을 수 있습니다. – Barmar
@Barmar Tru,하지만, 그는 즉시 그것을 부르고있어, 거의 문제가되지 않습니다. 그것은 단지 기능이 아닐 수도 있습니다. –
'$ ('.imNotification') .html (data);'물론 스크립트 태그 근처에있는 것뿐만 아니라 모든'.imNotification' 엘리먼트를 업데이트합니다. –