提问者:小点点

ajax不能工作我必须刷新才能使它工作


Ajax不工作,我必须重新加载页面使其工作。 因为ajax没有重新加载,我使用了location.reload,但我不想这样,所以请任何人可以帮助我如何使ajax函数工作。 它正在删除数据,但我需要刷新页面才能看到

        $(document).ready(function() {
        $('.headertrash').click(function(e){
         e.preventDefault();
         var trashcartid = this.id;
         var splittrash = trashcartid.split('-');
         var cartdelid = splittrash[1];
        //Ajax Request

        $.ajax({
        url: 'delusing.php',
        type: 'POST',
        data: { id:cartdelid },
        success: function(response){    

        // Remove row from HTML Table
         $(this).closest('li').fadeOut(300,function(){
        $(this).closest('li').remove();     
         });
        //I uses location.reload as alternative 
       // location.reload();     
        }});
         e.preventDefault();
     }); 

共1个答案

匿名用户

我将假设您的请求正在工作并返回成功。

从您的代码和问题中,我推断出实际的问题不是ajax不能工作,而是li没有衰落和消失。

您遇到的问题是由于您正在使用的this,以及您使用this的方式,它意味着ajax请求,但是您的目的是获取与$('.HeaderTrash')相关联的元素来修复您的问题:

$(document).ready(function() {
    $('.headertrash').click(function(e){
        e.preventDefault();
        var trashcartid = this.id;
        var splittrash = trashcartid.split('-');
        var cartdelid = splittrash[1];
        var clickedElement = $(this);

        //Ajax Request
        $.ajax({
            url: 'delusing.php',
            type: 'POST',
            data: { id:cartdelid },
            success: function(response) {    
                // Remove row from HTML Table
                clickedElement.closest('li').fadeOut(300,function() {
                    clickedElement.closest('li').remove();     
                });
            }
        });
    }); 
});

请参阅:Ajax(this)not working获得更多详细信息