Я делаю приложение для чата, где люди могут отправлять сообщения туда и обратно. Я просто понял, что при отправке сообщения он будет выполнять скрипт в браузере. Если я отправлю сообщение <script>alert("hello");</script>
Мой браузер выполнит скрипт, а в сообщении div не будет содержимого сообщения. Когда я смотрю на сервер, в столбце «содержание» есть скрипт. Когда я загружаю все сообщения между пользователем и мной, он запускает скрипт ... снова. Проблема, с которой я сталкиваюсь, заключается в том, как отобразить сообщения в виде текста без запуска скрипта? Я формирую большие блоки HTML внутри сервера php, затем echo
каждый из них к запросам AJAX
, которые добавляют их в div диалога. Как упрощенная версия того, что я делаю, это в основном текстовый блок I echo
после получения значений из базы данных.
$chat_message='
<div class="messaging-block">
<div id="date">'.$date.'</div>
<div id="username">'.$fname.' '.$lname.'</div>
<div id="content">'.$content.'</div>
</div>';
echo $chat_message;
AJAX
$.ajax({
type: 'POST',
url: 'get-chat-messages.php',
dataType: 'html', //have tried 'text' as well
data: 'convid=' + conversation,
success: function(response) {
$("#conversation-div").append(response);
} });