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();
});
我将假设您的请求正在工作并返回成功。
从您的代码和问题中,我推断出实际的问题不是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获得更多详细信息