0

私は次のコードを持っています、

$(".delete.red").live("click", function () {
    var self = $(this);
    var loadUrl = $(this).attr('href');
    alert("clicked");
    //var interestParents = self.parents('div:eq(4)').attr("id");
    $.ajax({
        type: "POST",
        url: loadUrl,
        dataType: "json"
    }).success(function (msg) {
        alert(msg);
        self.parent().parent().parent().parent().parent().parent().remove();
        $(".selected strong").text(msg.icount)

    });
    return false;
});

このコードは、クリックされたリンクhrefにリクエストを送信するリンクをクリックすると、そのリンクの最も外側の親を見つけて、マークアップから自分自身を削除する必要があります。

ただし、リクエストがdone()関数に到達していませんが、フィードバックは呼び出されていないかのように見えます。これは、[ネットワーク]タブを見ると、hrefがアクセスされているリンクを確認できます。200 OK応答を参照してください。

何が起こっているの?

4

1 に答える 1

8

引数として渡されたオプションオブジェクトの成功部分を作成します

$.ajax({
        type: "POST",
        url: loadUrl,
        dataType: "json",
        success: function (msg) {
            alert(msg);
            self.parent().parent().parent().parent().parent().parent().remove();
            $(".selected strong").text(msg.icount);
        }
});

ウェブサイトによると、成功コールバックはjQuery1.8で非推奨になりました

非推奨の通知: jqXHR.success()、jqXHR.error()、およびjqXHR.complete()コールバックは、jQuery1.8で非推奨になります。最終的な削除に備えてコードを準備するには、代わりにjqXHR.done()、jqXHR.fail()、およびjqXHR.always()を使用します。

サイトによると、ライブメソッドも非推奨になりました

jQuery 1.7以降、.live()メソッドは非推奨になりました。.on()を使用して、イベントハンドラーをアタッチします。

于 2012-11-19T10:55:26.160 に答える