Jquery ajax 異步中獲取this對象無效

原始寫法

$(".List").each(function () {
            var objid = $(this).attr("id");
            $.ajax({
                url: "/Bus/IsCollection?id=" + objid,
                type:"post",
                success:function (mess){
                    if (mess == "1") {
                        $(this).html("取消收藏");
                    }
                }
            });
        });

這個ajax 異步的地方$(this)是獲取不到的。

修改寫法

$(".List").each(function () {
            var obj = $(this);
            var objid = obj.attr("id");
            $.ajax({
                url: "/Bus/IsCollection?id=" + objid,
                async: true,
                type:"post",
                success:function (mess){
                    if (mess == "1") {
                        obj.html("取消收藏");
                    }
                }
            });
        });

必須在異步外面的先聲明變量,然後異步裏面才能調用。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章