0

我已将一些数据加载到 boostrap 中。

$(".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 回答