0

いくつかのデータをブーストラップにロードしました。

$(".open_modal").live('click', function () {
    var $url = $(this).attr('data-url');
    var $title = $(this).attr('title');
    var $modal_data = $('<div class="modal" id="my_modal"><div class="modal-header"><button class="close" data-dismiss="modal">×</button><h3><img src="/assets/imgs/loading.gif" /> Loading....</h3></div><div id="modal_content"></div></div>')
        $modal_data.modal({
            show: true,
            backdrop: 'static'
        });
       $modal_data.find("#modal_content").load($url,function(){         
            $modal_data.find("h3").text($title);
    });
    return false;
});

読み込んでいるコンテンツにはフォームが含まれています...

送信イベントをブロックするjqueryコードを起動しようとしています。

$("body").delegate("#post_status_frm", 'submit', function (e) {
    var $this = $(this);
    var $status = $("#shout_field").val();
    $.ajax({
        type: "POST",
        url: "/do/post_status.asp",
        data:  $this.serialize(),
        success: function (data) {
            if (data === 'true') {
                $("#my_modal").modal('hide');
                $("#activity").load('/content/activity.asp');
            } else {
                alert(data);
            }
        }

    });
    return false;
}); 

しかし、それは機能していませんか?

alert("")イベントが発生していることを確認するために、イベントをスローしてみました。そうではありません。

私は困惑しています。

4

1 に答える 1

0

post_status.aspが空の「応答本文」を含む「200 OK」というヘッダー応答を返すだけの場合、変数dataは の値を返しますnull

$.ajax({
    type: "POST",
    url: "/do/post_status.asp",
    data:  $this.serialize(),
    success: function (data) {
        console.log(data, data === null); // Output: null true
        $("#my_modal").modal('hide');
        $("#activity").load('/content/activity.asp');
    }
});

post_status.aspが実際のJSONデータで応答するようにするには、それらが「キーと値のペア」である必要があります。

于 2012-11-09T14:46:43.770 に答える