gpt4 book ai didi

php - 使用 AJAX 动态更新数据库中的文本

转载 作者:行者123 更新时间:2023-12-01 02:29:21 25 4
gpt4 key购买 nike

我一直在努力学习 AJAX,以便我可以简单地使用数据库中的新文本动态更新我的网页,因为似乎所有 ajax 教程都是更复杂的示例,涉及将数据写入数据库

我正在处理的页面只是一个 PHP 脚本,需要向其发布注册和 ID 号,然后它会显示来自数据库的消息(经常更新)。目前,我的页面顶部有一个“更新消息”按钮,用于发送更新消息的命令,但需要刷新页面才能工作。

我只想使用ajax动态刷新消息。这是我到目前为止所写的内容,基于我在 Using Jquery Ajax to retrieve data from Mysql 中找到的内容,但它不起作用,因为我不知道如何使用 ajax 将注册号和 ID 号作为参数传递给 php 脚本并显示响应。

请注意,sendPushNotification函数不相关且工作正常(用于发送更新消息的命令)。

readmessages.php

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Inbox</title>

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.2/jquery.min.js"></script>
<script type="text/javascript">
$(document).ready(function(){

});
function sendPushNotification(id){
var data = $('form#'+id).serialize();
$('form#'+id).unbind('submit');
$.ajax({
url: "send_message.php",
type: 'GET',
data: data,
beforeSend: function() {

},
success: function(data, textStatus, xhr) {
$('.txt_message').val("");
},
error: function(xhr, textStatus, errorThrown) {

}
});
return false;
}
function updateText(registration, rowid) {
$.ajax({ //create an ajax request to readmessages.php
type: "GET",
url: "readmessages.php",
dataType: "html", //expect html to be returned
success: function(response){
$("#responsecontainer").html(response);
}

});
}
</script>
</head>

<body>

<?php
// receive data from HTML readmessages request
$rName=$_POST["registration"]; //POST information required to read information from the database
$rowId=$_POST["rowid"];

require_once 'access.php';

if (!userIsLoggedIn()) {
include 'login.php';
exit();
}

include_once './db_functions.php';
$db = new DB_Functions();
?>

<form id="<?php echo $rowId ?>" name="" method="post" onsubmit="return sendPushNotification('<?php echo $rowId ?>')">
<input type="hidden" name="message" value="readmessages" />
<input type="hidden" name="regId" value="<?php echo $rName ?>"/>
<input type="submit" class="send_btn" value="Update Messages" onclick="return updateText(<?php echo $rName ?>, <?php echo $rowId ?>);"/> //Attempts to call function to update text once button is pressed (not functioning)

<?php
$messagelist = $db->getInbox($rName); //calls the database to retrieve messages
echo nl2br($messagelist); //Displays message list that I want to update
include './logout.php';
?>
</body>
</html>

任何帮助将不胜感激!

编辑:更新行以包含正确的引号:

<input type="submit" class="send_btn" value="Update Messages" onclick="return updateText('<?php echo $rName ?>', '<?php echo $rowId ?>')"/>

最佳答案

要在 AJAXPHP 之间进行通信,您必须了解两件事:

1) 如果您使用 PHP $_POST,您的 AJAX 还必须表示发布数据,并且,

2) 如果您使用 PHP $_GET,您的 AJAX 还必须表示获取数据.

所以,你不能这样做:

$.ajax({    //create an ajax request to readmessages.php
type: "GET",//NOTICE THIS GET thingi...
url: "readmessages.php",
dataType: "html", //expect html to be returned
success: function(response){
$("#responsecontainer").html(response);
}

然后做:

<?php
// receive data from HTML readmessages request
$rName=$_POST["registration"]; //NOTICE THE $_POST guy.. //POST information required to read information from the database
$rowId=$_POST["rowid"];

您更愿意在两侧使用 'POST''GET'

因此,如果您只想POST,您的 AJAX 可能如下所示:

$.post('url_goes_here.php',{myDataXXX:comes_here},function(response_here){

console.log(response_here);
})

和你的 PHP

<?php

var_dump($_POST['myDataXXX'])
?>

如果您只想GET,您的 AJAX 可能如下所示:

$.get('url_goes_here.php',{myDataXXX:comes_here},function(response_here){

console.log(response_here);
})

和你的PHP

<?php

var_dump($_GET['myDataXXX'])
?>

希望有帮助...

关于php - 使用 AJAX 动态更新数据库中的文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24357793/

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