是否可以使用Javascript插入或删除数据库记录?

时间:2018-10-01 10:05:31

标签: javascript

我是Java语言的新手,到目前为止我找不到此信息。

我想创建一个按钮,单击该按钮可在数据库中创建一个新条目,而另一个按钮则可在单击时删除特定条目。我不想使用PHP的原因是因为我不想在单击按钮时重新加载页面。

在哪里可以找到有关如何实现此目标的信息?

编辑

好吧,我找到了:

<script type="text/javascript">
    $(document).on('click','#save',function(e) {
        var data = $("#save-form").serialize();
        $.ajax({
            data: data,
            type: "post",
            url: "save.php",
            success: function(data){
                alert("Data Save: " + data);
            }
        });
    });
</script>

我的HTML:

<form id="save-form" method="post">
    <input id="save" type="submit" value="Save" name="save-submit" />
</form>

在我的数据库中创建新记录的PHP文件(save.php)有效,但仅当表单的actionaction="save.php"时有效。我应该在表单的action中放入什么来触发脚本?

此外,似乎“提交”按钮仍在重新加载页面(即使我的表单中没有action)。

4 个答案:

答案 0 :(得分:4)

您无法直接从Databasejavascript进行通信。您可以做的就像使用Ajax与您的服务器端语言进行通信(可以是PHP,.net,Java等。)并借助服务器端语言与Database进行通信< / p>

如果您使用的是Ajax,则可以使用asynchronous

如果您确实想使用JavaScript与数据库进行通信,则可以使用Node.js(可以使用javascript语法),但它仍然是基于Javascript的服务器端语言并且与您的浏览器无关

为什么不能从客户端连接数据库?

主要原因是Security。您没有向web server/app user.

以外的任何人授予数据库访问权限

其他几个原因是

DB load reduction

Scalability  Issues 

Encapsulation Issues 

Ability for fault tolerance

答案 1 :(得分:0)

请参见使用PHP而不进行回发即可插入db的方法。 但是针对您的问题,您可以在下面的链接中找到答案

Insert Record in Database Using Textboxes in JavaScript

答案 2 :(得分:0)

不仅可以使用PHP,还可以使用任何其他编程语言(例如asp.net,java等)创建条目,并删除特定条目,而无需加载页面。 您需要使用名为“ ajax”的jquery插件。

使用'ajax',您可以在不加载页面的情况下将数据发送到服务器。在将数据存储在服务器端之后,您可以做任何想做的事。

您将在这里找到ajax文档:http://api.jquery.com/jquery.ajax/

在这里回答了类似的问题:Delete record without refresh page using php

如果您有任何问题,请告诉我。

答案 3 :(得分:0)

enter image description here

这是一个简单的客户端服务器通信模型的示例。客户端代码在JavaScript浏览器中执行。服务器端代码是PHP,Nodejs,java,python等),它们仅驻留在服务器上。客户端向服务器发送资源请求。然后服务器返回具有HTTP状态的响应。代表响应状态。客户端JavaScript无法直接与服务器数据库通信。它所做的是向服务器发送请求,该请求最终将触发服务器中的实际代码,从而将数据插入服务器。

您提到的一个是ajax方法,该方法发送HTTP请求而不实际重新加载页面。您还可以使用表单将数据发布到不带ajax的服务器中,这样将重新加载页面。

即使您要在客户端验证用户输入,也必须在服务器端验证用户输入。

您可以使用event.preventDefault()阻止提交表单,然后通过ajax将其插入。

$(document).ready(function() {
  $('#save-form').on('submit', function(e){      
      e.preventDefault();
       var data = $("#save-form").serialize();
        $.ajax({
            data: data,
            type: "post",
            url: "save.php",
            success: function(data){
                alert("Data Save: " + data);
            }
        });
  });
});