我是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)有效,但仅当表单的action
为action="save.php"
时有效。我应该在表单的action
中放入什么来触发脚本?
此外,似乎“提交”按钮仍在重新加载页面(即使我的表单中没有action
)。
答案 0 :(得分:4)
您无法直接从Database
与javascript
进行通信。您可以做的就像使用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的方法。 但是针对您的问题,您可以在下面的链接中找到答案
答案 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)
这是一个简单的客户端服务器通信模型的示例。客户端代码在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);
}
});
});
});