重新加载Ajax函数中的内容

时间:2014-05-08 18:51:57

标签: javascript jquery ajax reload

我正在尝试使用Ajax创建一个删除函数。

function delCatItem(catitem){
      var theitem = catitem;
            $.ajax({
        url: "movie/deleteitem/",
        type: "POST",
        data: { "movieid" : catitem },
        dataType: "html",
        success: 
        });
          }

该函数从一个按钮获取一个id号,并将其发布到一个模型,在该模型中,它找到该项并从数据库中删除它。这有效。但是,我不确定将什么放入成功部分,以便在没有该项目的情况下重新加载内容。谢谢!

编辑

<table class="table">
    <?php foreach ($movies as $movie){?>
    <tr>
    <td><button id="item_<?=$movie['movieid'];?>" onClick="delCatItem('<?=$movie['movieid']?>')"class="deletebut">
    <span class="glyphicon glyphicon-remove"></span></button>
    <td><h4><?=$movie['title'];?></h4></td>
    <td><img src="<?=$movie['thumburl'];?>"/></td>
</tr>
<?php } ?>
</table>

3 个答案:

答案 0 :(得分:0)

首先,将theitem设置为catitem看起来多余?

但在成功部分添加function(){}

function delCatItem(catitem)
{
    //var theitem = catitem;
    $.ajax({
        url: "movie/deleteitem/",
        type: "POST",
        data: { "movieid" : catitem },
        dataType: "html",
        success: function(html)
                {
                    $("#yourContainer").html(html);
                }
    });
}

您的deleteitem脚本可能会返回新的行集

或者,像这样使用.done()

function delCatItem(catitem)
{
    //var theitem = catitem;
    $.ajax({
        url: "movie/deleteitem/",
        type: "POST",
        data: { "movieid" : catitem },
        dataType: "html"

    }).done(function(html)
    {
        $("#yourContainer").html(html);
    });
}

答案 1 :(得分:0)

您无需重新加载内容,您需要从DOM中删除已删除的项目。如果没有关于HTML的更多信息,我不能非常具体。

function delCatItem(catitem){
    var theitem = catitem;
    $.ajax({
        url: "movie/deleteitem/",
        type: "POST",
        data: { "movieid" : catitem },
        dataType: "html",
        success: function(){
           var selector = '#item_'+catitem;
           $(selector).parents('tr').remove();
        }
   });
}

答案 2 :(得分:0)

执行某项操作时的标准做法是检查任务是否已在服务器端成功完成?只返回一个标志true或false。如果从数据库中删除记录(一切正常),则返回true,否则返回false并显示相应的消息。