php/javascript/ajax 提交表单 > 将数据保存到数据库 > 更新网站上的数据

标签 php jquery ajax

我有 3 项任务:

1)当用户按下键盘上的回车按钮或单击“提交”按钮时,在文本区域中提交消息。

2)使用php/mysql将消息保存到数据库中。

3)保存到数据库后,需要将更新的消息显示到网站上。

问题是...没有可以更改“Enter”按钮事件的php脚本,所以我需要使用javascript,如果我使用javascript,我需要创建一个新页面sendMsgToDB.php来将数据提交到通过以下 javascript/ajax 建立数据库:

<script type="text/javascript">
function gg(e) {  //sumbit the form when user press Enter button
    key = e ? e.which : window.event.keyCode;
    if(key==13) {
           $.ajax({
             type: "POST",
             url: "sendMsgToDB.php?msgid=" + msgid,
             data: dataString2,
             success: function() {
                 $('textarea.resposting').val('');
             }
           });
    }
}

$(function() {
        document.getElementById("resposting").onkeypress = gg; 
});
</script>

我使用 mysql 从数据库检索 10 条最新消息,并使用纯 php 将消息显示到网站上。如果我想在用户按键盘上的“Enter”按钮通过文本区域提交数据后在网站上显示更新的消息,那么我肯定需要调用 function Display_New_Msg()数据完成后发送到数据库。如果我使用Javascript/ajax提交数据,如何使用javascript/ajax/jquery判断数据是否完整发送到数据库?

说真的,我不喜欢使用 javascript/ajax/jquery,但我强制使用它们,因为我需要更改“输入”按钮事件,有没有办法使用 php 更改“输入”按钮事件?如何让按“输入”按钮就像点击“提交”按钮一样提交表单<form name="frmMsg" action="currentPage.php"> , Action 会转到currentPage.php,所以页面刷新了,所以会重新执行function Display_New_Msg()自动显示新消息,不再需要判断数据是否完整发送到数据库。

最佳答案

If I use Javascript/ajax to sumbit data, how to determine whether or not the data is complete send to database?

这一切都取决于处理 AJAX 请求的资源的响应。在本例中,为 sendMsgToDB.php。该脚本需要确保它正在执行需要执行的操作,并且所有内容都已进入数据库(通常没有错误就足够了),然后相应地发送响应。如果服务器出现错误,则返回 HTTP 错误代码(例如 500 服务器错误)来指示这一点。

jQuery .ajax() 调用然后根据服务器的响应确定要使用的回调函数。您的代码当前处理成功的响应:

success: function() {
  $('textarea.resposting').val('');
}

为了处理错误响应,您需要对错误进行第二次回调:

error: function() {
 alert('There was an error!');
}

HTTP 响应代码正是出于此目的而存在,以便使用这些响应的客户端可以轻松确定请求的状态。

编辑:相反(如果我现在正确地重新解释你的话,也许更符合你的问题的精神),你可以使用 jQuery submit() 功能为 submit按键逻辑中的表单。这样,您就不必使用 AJAX,而只需使用常规的表单提交和响应,您可以表明这是您的偏好。像这样的事情:

if(key==13) {
  $('#myForm').submit();
}

关于php/javascript/ajax 提交表单 > 将数据保存到数据库 > 更新网站上的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5981958/

相关文章:

javascript - 从 <img> 标签获取 HTTP 状态代码或响应 header ?

php - 将 memcached 用于 PHP session 的优缺点

jquery - 为什么我的 jQuery 自动完成数据绑定(bind)不使用 Knockout JS?

jquery - 当用户滚动超过 10px 时如何运行函数?

javascript - 使用该按钮作为切换按钮来更改文本并将一个变量替换为另一个变量

javascript - 浏览器是否会阻止多个同时异步 XMLHttpRequest 上的 JS 执行?

php - 如何仅使用 Javascript (AJAX) 处理一篇文章?

css 工具提示中的 php 文本

php - 使用函数中的查询结果显示/隐藏 div

php - 使用php中的编辑和删除图像删除和更新行