gpt4 book ai didi

javascript - 发送数据到MySQL并显示更新的DB(AJAX)

转载 作者:行者123 更新时间:2023-11-30 00:57:58 25 4
gpt4 key购买 nike

我是 AJAX 新手,我整天都在忙于一个我无法开始工作的项目。顺便说一句,英语不是我的母语,所以提前抱歉!

项目基础:
- 一个简单的页面,其中一个部分用于输入消息,一个部分显示用户已输入的所有消息
- 用户在文本区域中输入文本,然后单击按钮提交消息
-新消息被发送到数据库,并且“评论部分”被新消息更新(AJAX)

基本上它应该像 YouTube 评论系统一样工作。

到目前为止,使用 Javascript、PHP、AJAX、jQuery 和 Json,这是我自己能够完成的:
-当用户点击按钮时,消息成功发送到数据库。
-我可以在页面的“div”内显示数据库的所有现有消息。
-我需要刷新网页才能看到添加到列表中的新消息,但我不想刷新网页。

我不知道该怎么做:
- 如何在不刷新页面的情况下更新页面上的消息列表。我想我只是不明白 AJAX 部分..

index.php:

<!DOCTYPE html>
<html>

<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>Untitled Document</title>
</head>

<body>

Message: <input type="text" id="message">
<input type="button" id="message-submit" value="Envoyer">
<input type="button" id="display" value="Afficher">

<div id="output" align="center">
</div>

<script src="jquery/jquery-1.8.2.min.js"></script>
<script src="js/comments.js"></script>
<script src="js/showComments.js"></script>

</body>
</html>

comments.js(一些 Javascript 和 Json)

$('input#message-submit').on('click', function () {
var message = $('input#message').val();
if($.trim(message) != '') {
$.post('ajax/showComments.php', {message: message}, function(data) {
});
}
});

showComments.js

$(function () 
{

$.ajax({
url: 'ajax/showComments.php',
data: "",
dataType: 'json',
success: function(rows)
{
for (var i in rows)
{
var row = rows[i];
var id = row[0];
var message = row[1];
var date = row[2];
$('#output').append("<b>id: </b>"+id+"<b> message: </b>"+message+"<b> date: </b>"+date)
.append("<hr />");
}
}
});
});

showComments.php(数据库工作)

<?php
$host = "localhost";
$user = "root";
$pass = "root";

$databaseName = "testAjax";
$tableName = "messages";


$con = mysql_connect($host,$user,$pass);
$dbs = mysql_select_db($databaseName, $con);



$result = mysql_query("SELECT * FROM $tableName");


$data = array();
while ( $row = mysql_fetch_row($result) )
{
$data[] = $row;
}


echo json_encode( $data );



if (isset($_POST['message']) === true && empty($_POST['message']) === false) {

$query = mysql_query("
INSERT INTO `testAjax`.`messages` (
`message_id` ,
`message` ,
`date`
)
VALUES (
NULL , '" . mysql_real_escape_string(trim($_POST['message']))."',
CURRENT_TIMESTAMP
);
");


}
?>

最佳答案

您不需要刷新页面,只需保留在数据库中插入新消息的方法,如果插入成功执行,则返回包含消息和附加数据的响应(如果您需要)到 ajax 并在成功响应中获取内容并将其附加到页面上显示的当前消息中。希望它能让你逻辑起来

关于javascript - 发送数据到MySQL并显示更新的DB(AJAX),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20388224/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com