2

我正在调用 jQuery Ajax 函数,一切正常。除了,它没有收到任何响应并将其附加。

提交表单时..调用 beforeSend 事件并成功运行加载图像,并且还有一个带有“已删除”消息的警报框,但未附加来自页面的请求和响应....在 chrome 的网络选项卡中,我可以看到所选帖子的消息已删除...但它没有附加到页面中。

$(document).ready(function() {
    $("#post").submit(function() {
        var post = $('#post').val();
        var token = $('#token').val();
        var str = 'token='+ token + '&post='+ post;
        $.ajax({
            type: "POST",
            cache: false,
            url: "http://localhost/delete.php",
            data: str,
            beforeSend: function(){
                $("#post").html('<img src="http://localhost/loader.gif" align="absmiddle">&nbsp;Deleting...');
           },
            success: function(msg) {
                alert('Deleted');
                $("#post").ajaxComplete(function(event, request, settings) {
                    $("#post").html(msg);
                });
            }
        });
        return false;
    });
});
4

1 回答 1

1

在 AJAX 查询成功后,您将附加一个新的事件侦听器。#post基本上你说的是,“在这个查询成功后,等待另一个查询成功,然后更改 HTML。” 由于查询已经成功,您需要删除ajaxComplete并简单地使用:

success: function() {
    alert('Deleted');
    $("#post").html(msg);
}
于 2013-07-01T17:36:06.227 回答