如何通过javascript函数调用DAO方法?
我正在编写jquery代码,并通过它在jsp页面上调用JavaScript函数 这是jquery函数如何通过javascript函数调用DAO方法?,javascript,java,jquery,database,jsp,Javascript,Java,Jquery,Database,Jsp,我正在编写jquery代码,并通过它在jsp页面上调用JavaScript函数 这是jquery函数 $(function () { $('#defaultCountdown').countdown({until: $.countdown('//SomeTime'),onExpiry: liftOff}); }); liftOff是一个javascript方法,在指定的时间到期后调用 这是JavaScript函数 <script> function liftOff()
$(function () {
$('#defaultCountdown').countdown({until: $.countdown('//SomeTime'),onExpiry: liftOff});
});
liftOff是一个javascript方法,在指定的时间到期后调用
这是JavaScript函数
<script>
function liftOff() {
alert("Before Delete");
<% DAO_Object.deleteRecord(ID);%>
alert("After Delete");
}
</script>
函数liftOff(){
警报(“删除前”);
%DAO_对象。删除记录(ID);%
警报(“删除后”);
}
现在的问题是,
行在函数调用之前被执行,数据库中的记录被删除。函数调用后,警报语句正确执行
我是否错误地调用了
deleteRecord
方法?您将服务器端JSP逻辑与客户端JavaScript逻辑混为一谈
当servlet处理请求时,
之间的所有内容都在servlet上运行,因此当您在浏览器中获得响应时,记录已经被删除。如果您使用或类似工具查看浏览器中接收到的HTML/JS,您将看到这些alert(…)
调用之间没有任何内容
这里的解决方案是在服务器端处理deleteRecord()
,并在liftOff()方法中调用它。所以liftOff()
看起来像这样:
// assuming `id` is a string here
function liftOff(id) {
alert("Before Delete");
// You'll have to setup this endpoint to run
// your `DAO_Object.deleteRecord(ID);` code
// in your JSP code.
$.get("/delete/my/record/" + id, {
error: function(e){
// some kind of error occurred in making the request
},
success: function(resp){
// `resp` is the response from the server
alert("After Delete");
}
});
}
您正在混合服务器端JSP逻辑和客户端JavaScript逻辑
当servlet处理请求时,
之间的所有内容都在servlet上运行,因此当您在浏览器中获得响应时,记录已经被删除。如果您使用或类似工具查看浏览器中接收到的HTML/JS,您将看到这些alert(…)
调用之间没有任何内容
这里的解决方案是在服务器端处理deleteRecord()
,并在liftOff()方法中调用它。所以liftOff()
看起来像这样:
// assuming `id` is a string here
function liftOff(id) {
alert("Before Delete");
// You'll have to setup this endpoint to run
// your `DAO_Object.deleteRecord(ID);` code
// in your JSP code.
$.get("/delete/my/record/" + id, {
error: function(e){
// some kind of error occurred in making the request
},
success: function(resp){
// `resp` is the response from the server
alert("After Delete");
}
});
}
您将客户端代码和服务器端代码混为一谈。请参阅@lxe OP正在尝试运行依赖于浏览器事件的JSP代码。这更类似于本文:您将客户端代码和服务器端代码混为一谈。请参阅@lxe OP正在尝试运行依赖于浏览器事件的JSP代码。它更类似于这篇文章:那么在调用函数之后调用DAO方法的解决方案应该是什么呢?@NikhilPatil HTTP requestDELETE/path/to/resource/{id}
@chrylis谢谢。我试着解释一下,你到底是如何做到这一点的。希望这会有所帮助。我强烈建议您使用正确的HTTP动词替换path hack。那么,在调用函数之后调用DAO方法的解决方案应该是什么呢???@NikhilPatil HTTP requestDELETE/path/to/resource/{id}
@chrylis谢谢。我试着解释一下,你到底是如何做到这一点的。希望这能有所帮助。我强烈建议您用正确的HTTP动词替换path hack。