jjery在ajax之后调用ok但是没有发送ID?

时间:2012-01-31 15:00:28

标签: jquery ajax

我正在使用JQuery并进行ajax调用,根据ID删除一些基于ID的东西:

$(".delete").live('click', function(event) {
                  var item = $(this),
                      commentContainer = item.parent(),
                      id = item.attr("id"),
                      string = 'solutionID=' + id;
                      item.next('.loading2').fadeIn();

                  $.ajax({
                    type: "POST",
                    url: "/js/ajax/delete-comment.php",
                    data: string,
                    cache: false,
                    success: function(){
                      commentContainer.slideUp('slow', function() {
                        item.remove();
                        $('.loading2').fadeOut();
                      });
                    }
                  });
                  event.preventDefault();
                });

页面本身有: -

<a href="#" id="55" class="delete">DELETE</a><div class="loading2"></div>

它第一次工作,我使用“live()”来确保它在ajax调用之后也能正常工作。 然而,在ajax调用之后它似乎工作但元素的ID没有发布,尽管有。

有人对这个问题有所了解吗?请

谢天谢地。我发现了问题:

它不是Jquery或html相关的,而是在SQL查询中对于solution.solutionID的错过调用。 道歉。

2 个答案:

答案 0 :(得分:1)

$(".delete").on('click', function(e) {
    var item = $(this);
    var commentContainer = item.parent();
    str = 'solutionID=' + this.id;
    item.next('.loading2').fadeIn();

    $.ajax({
        type: "POST",
        url: "/js/ajax/delete-comment.php",
        data: str,
        cache: false,
        success: function(){
            commentContainer.slideUp('slow', function() {
                item.remove();
                $('.loading2').fadeOut();
            });
        }
    });

    e.preventDefault();
});

答案 1 :(得分:0)

您在id中传递的变量名为string,是不是javascript中的数据类型?尝试将其重命名为其他内容。它可能是不相关的,但它有点奇怪。