Intereting Posts
Сбросьте все, кроме буквенно-цифровых и европейских символов в PHP Написание единичных тестов для API REST-ful WordPress – получение сообщений по типу и категории пользовательских сообщений, причем каждая категория автоматически помещается в DIV Должны ли изменения SymfonyRequirements.php быть включены в контроль версий? Лучший способ кэширования измененных изображений с использованием PHP и MySQL PHP-код при просмотре pdf-файла из базы данных mysql Какой смысл иметь $ this и self :: в PHP? Вход в систему Opencart Force, когда вы видите страницу Cart? Создание объектов из базы данных Как jquery и php работают вместе с формами? Передача значения из PHP в форму SimpleModal Как запустить тест PHPUnit Selenium без запуска нового окна браузера для каждой функции? TCPDF_import не вносит существующий файл Что определяет, когда объект класса уничтожается в PHP? PHP и MySQL – как удалить записи пользователей из двух таблиц

Добавить в php / ajax не работает

Я использую стандартный пример чата ( http://www.phpclasses.org/blog/package/3213/post/1-Tutorial-on-Creating-an-AJAX-based-Chat-system-in-PHP. html ) с jQuery 1.7 . Каждый раз, когда я отправляю сообщение, я получаю сообщение

Использование getPreventDefault () устарело. Вместо этого используйте defaultPrevented.

Входное сообщение по-прежнему отправляется в базу данных и обрабатывается правильно, однако «добавление» к исходному источнику и, следовательно, печать на экране не работает. Как я могу сделать эту работу и предотвратить сообщение? Мой main.js находится здесь:

var lastTimeID = 0;

$(document).ready(function() { $('#btnSend').click( function() { sendChatText(); $('#chatInput').val(""); }); startChat(); }); function startChat(){ setInterval( function() { getChatText(); }, 1000); } function getChatText() { $.ajax({ type: "GET", url: "/taboo/game/refresh.php?lastTimeID=" + lastTimeID }).done( function( data ) { var jsonData = JSON.parse(data); var jsonLength = jsonData.results.length; var html = ""; for (var i = 0; i < jsonLength; i++) { var result = jsonData.results[i]; html += '<div ' + result.role + '">(' + result.mes_time + ') <b>' + result.username +'</b>: ' + result.message + '</div>'; lastTimeID = result.messageID; } $("#reply").append(html); }); } function sendChatText(){ var chatInput = $('#chatInput').val(); if(chatInput != ""){ $.ajax({ type: "GET", url: "/taboo/game/submit.php?chattext=" + encodeURIComponent( chatInput ) }); } } 

Здесь отредактированная версия после первых комментариев: var lastTimeID = 0;

  $(document).ready(function() { $('#btnSend').click( function() { sendChatText(); $('#chatInput').val(""); }); startChat(); }); function startChat(){ setInterval( function() { getChatText(); }, 1000); } function getChatText() { $.ajax({ type: "GET", url: "/taboo/game/refresh.php?lastTimeID=" + lastTimeID, success: function( data ){ var jsonData = JSON.parse(data); var jsonLength = jsonData.results.length; var html = ""; for (var i = 0; i < jsonLength; i++) { var result = jsonData.results[i]; html += '<div ' + result.role + '">(' + result.mes_time + ') <b>' + result.username +'</b>: ' + result.message + '</div>'; lastTimeID = result.messageID; } $("#reply").append("<p>Hello</p>"); console.log(html); console.log("H"); } }); } function sendChatText(){ var chatInput = $('#chatInput').val(); if(chatInput != ""){ $.ajax({ type: "GET", url: "/taboo/game/submit.php?chattext=" + encodeURIComponent( chatInput ) }); } } 

Здесь вводится вход:

  <div class="reply" id="response"></div> <div id="ajaxForm"> <input type="text" id="chatInput" /><input type="button" value="Send" id="btnSend" /> </div> 

Это соединение с БД:

  class chatClass { public static function getRestChatLines($messageID) { $arr = array(); $jsonData = '{"results":['; include "/Applications/XAMPP/xamppfiles/htdocs/taboo/game/connectToDB.php"; $_db->query("SET NAMES utf8"); $statement = $_db->prepare("SELECT * FROM messages WHERE message_id > ? and mes_time >= DATE_SUB(NOW(), INTERVAL 1 HOUR)"); $statement->bindParam('i', $messageID); $statement->execute(array($messageID)); while ($statement->fetch()) { $line->message_id = $messageID; $line->game_id =$gameID; $line->user_name = $username; $line->role = $role; $line->message = $message; $line->ordering = $ordering; $line->mes_time = date('H:i:s', strtotime($mes_time)); $arr[] = json_encode($line); } $link = null; $jsonData .= implode(",", $arr); $jsonData .= ']}'; return $jsonData; } public static function setChatLines($message, $username, $role, $gameID, $ordering) { include "/Applications/XAMPP/xamppfiles/htdocs/taboo/game/connectToDB.php"; $statement = $_db->prepare( "INSERT INTO messages(message, user_name, role, game_id, $ordering) VALUES(?, ?, ?, ?,)"); $statement->execute(array($message, $username, $role, $gameID, $ordering)); $link = null; } } ?> 

И отправьте в середине, который передает данные из main.js (первый код) в DB php (как раз перед этим).

 <?php session_start(); require_once( "/Applications/XAMPP/xamppfiles/htdocs/taboo/game/connectToDB.php" ); require_once( "/Applications/XAMPP/xamppfiles/htdocs/taboo/game/chatClass.php" ); $message = htmlspecialchars( $_GET['chattext'] ); echo $message; $username=$_SESSION['username']; $ordering = $_SESSION['ordering']; ++$ordering; $_SESSION['ordering'] = $ordering; chatClass::setChatLines( $message, $username, $_SESSION['role'], $_SESSION['gameID'], $ordering); ?> 

Это обновление, которое периодически обновляет и проверяет наличие обновлений.

 <?php require_once( "/Applications/XAMPP/xamppfiles/htdocs/taboo/game/connectToDB.php" ); require_once( "/Applications/XAMPP/xamppfiles/htdocs/taboo/game/chatClass.php" ); $message_id = intval( $_GET[ 'lastTimeID' ] ); $jsonData = chatClass::getRestChatLines( $message_id ); print $jsonData; ?> 

Это все элементы, связанные с чатом, который не работает. Заранее спасибо за вашу помощь – я старался все, что мог найти на этом форуме, и другие, и ничего не возвращает мой текст обратно в лук

     $("#reply").append("<p>Hello</p>"); 

    это выберет элемент с id = "reply", но в вашем html нет id="reply"

    вы можете добавить его

     $('#response').append("<p>Hello</p>") 

    это выберет тег с id="response" и добавит привет