JQuery / AJAX动态显示聊天消息?

时间:2016-10-16 22:15:10

标签: php jquery ajax chat

我遇到了问题,我需要你的帮助来解决它。 现在我必须在这个布局下显示消息: http://i.imgur.com/x8jgY95.png

我正在使用Javascript / JQuery检测到不同对话的点击次数,所选对话背景会在图片上突出显示,现在我必须在消息容器中显示所选对话的消息。

每个会话div都有一个会话ID:

<div id="1" class="conversation"></div>

我知道如何使用SQL以正确的顺序获取消息:

SELECT text FROM messages WHERE id_conversation=1 ORDER BY date DESC;

但是如何显示它们因为我不能用javascript使用php(对吧?)?

我正在使用此代码来获取点击的对话:

$('.conversation').click(function() {
    $('.text').removeClass('highlightedtext');
    $(this).find('.text').addClass('highlightedtext');
    $('.conversation').removeClass('highlightedconversation');
    $(this).addClass('highlightedconversation');
});

恢复:

  1. 我需要使用SQL查询
  2. 在消息容器中显示链接到所选对话的消息
  3. 我需要在选择其他会话时清除消息容器,然后再次显示所选对话

1 个答案:

答案 0 :(得分:-1)

使用JSON编码的php数组一切正常,我使用以下Javascript代码:

$.ajax({
      type: 'POST',
      url: 'checkmessage.php',
      data: { id: $(this).attr('id') },
      dataType: 'json',
      cache: false,
      success: function(result) {
        var text = "";
        var i, j;

        for (i = 0; i < result.length; ++i) {
          text += "<div class='msg'>"
          for (j = 0; j < result[i].length; ++j) {
            text += result[i][j];
          }
          text += "</div><br>"
          $('#messagescontainer').append(text);
          text = "";
        }
      },
      error: function (request, status, error) {
        alert(request.responseText);
      }
    });