我正在使用jQuery从数据库中删除一些数据。我想要一些功能,当jQuery返回成功时,我想执行一个查询。我想在没有页面刷新的情况下更新另一个关于jQuery成功的表。我可以这样做,如果是,我该怎么做?
我是jQuery的新手,所以请不要介意它是否对stackoverflow不是一个好问题。
这是我的剧本:
<script type="text/javascript">
$(document).ready(function () {
function delete_comment(autoid, btn_primary_ref) {
$.ajax({
url: 'rootbase.php?do=task_manager&element=delete_comment',
type: "POST",
dataType: 'html',
data: {
autoid: autoid
},
success: function (data) {
// I want to execute the Update Query Here
alert("Comment Deleted Successfully");
$(btn_primary_ref).parent().parent().hide();
var first_visible_comment = $(btn_primary_ref).parent().parent().parent().children().find('div:visible:first').eq(0).children('label').text();
if (first_visible_comment == "") {} else {
$(btn_primary_ref).parent().parent().parent().parent().parent().parent().prev().children().text(first_visible_comment);
}
load_comment_function_submit_button(autoid, btn_primary_ref);
},
});
}
$(document).on('click', '.delete_user_comment', function (event) {
var autoid = $(this).attr('id');
var btn_primary_ref = $(this);
var r = confirm("Are you sure to delete a comment");
if (r == true) {
delete_comment(autoid, btn_primary_ref);
} else {
return false;
}
});
});
</script>
答案 0 :(得分:1)
您无法直接在Javascript中执行数据库操作。你需要做的是简单地在后端的php文件上成功发出一个新的AJAX请求来更新给定的表。但是,这将意味着向后端发出两个AJAX请求,这两个请求都管理数据库数据。似乎有点不必要了。为什么不在php文件本身的删除操作之后执行更新操作?
答案 1 :(得分:0)
添加将执行查询的服务器端编码页面。
例如:
假设你添加一个名为executequery.php
的页面。
使用此代码:
如果要执行查询,请执行以下操作:
$.post("executequery.php",//the URL of the page
{
param1:value1,
param2:value2....//if you want to pass some parameters to the page if not set it to null or {}
},
function(data){
//this is the callback that get executed after the page finished executing the code in it
//the "data" variable contain what the page returened
}
);
PS:发送到该页面的参数与php页面中的$_POST
变量类似
还有另一个解决方案,但 UNSAFE 我重新尝试 NOT 使用它。 它用参数发送查询,这样你就可以使用相同的页面示例执行任何查询:
$.post("executequery.php",//the URL of the page
{
query:"insert into table values("
param1:value1,
param2:value2....//if you want to pass some parameters to the page if not set it to null or {}
},
function(data){});