使用jquery方法的Ajax请求

时间:2015-08-30 11:56:26

标签: javascript php jquery ajax

我有一个疑问,我使用Jquery来加载关注我的人的动态墙帖。现在,由于Jquery在传统的click方法中处理动态内容,我在响应的方法上使用。如果我不触发Jquery方法但做其他事情就可以了。我想知道如何启动Ajax方法。 我的代码:

$('body').on('click','.likebutton', $.ajax({
    method:"POST",
    url:"../assets/backend/likepost/index.php",
    data:"postid="+$('.likebutton').attr('id'),
    success:function(response) {
        $(this).find(".liketext").html("<p class='liketext'><span class='glyphicon glyphicon-ok'></span> You like this</p>");
    }

对代码的任何改进都将不胜感激。日Thnx

2 个答案:

答案 0 :(得分:0)

使用以下格式:

$('body').on('click','.likebutton', function(){
    var that = this;
    /*
        place code of other processing
    */
    $.ajax({
        method:"POST",
        url:"../assets/backend/likepost/index.php",
        data:"postid="+$(that).attr('id'),
        success:function(response) {
            $(that).find(".liketext").html("<p class='liketext'><span class='glyphicon glyphicon-ok'></span> You like this</p>");
        }
    });
}

答案 1 :(得分:0)

您需要在匿名函数中包装ajax函数调用。

使用

$('body').on('click', '.likebutton', function() {
    //Store the reference in a variable
    var _this = $(this);
    $.ajax({
        method: "POST",
        url: "../assets/backend/likepost/index.php",
        data: "postid=" + this.id, //fetch id using this
        success: function(response) {
            //Use the refrence to set html
            _this.find(".liketext").html("<p class='liketext'><span class='glyphicon glyphicon-ok'></span> You like this</p>");
        }
    });
});