如何在jQuery成功时执行查询

时间:2014-07-31 07:51:22

标签: javascript jquery

我正在使用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>

2 个答案:

答案 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){});