如何在不使用AJAX刷新页面的情况下显示评论表单提交?

时间:2014-01-20 17:32:05

标签: javascript php jquery ajax

评论表单正在提交,数据也会保存到数据库中。但是,如果没有刷新页面,则不会在浏览器上显示。

这是代码:

$("#post_reply").click(function (event) {
    $("#data_status").html("");
    $('#ajax_loading').show();
    event.preventDefault();
    if (document.getElementById('_comment').value.trim() == "") {
        return false;
    }
    $.post('../services/leave_comment.php', $("#open_status").serialize(), function (data) {
        $('#ajax_loading').hide();
        if (data.split("::")[1] == true) {
            $("#data_status").html("Commented Successfully..");
            $("#data_status").fadeOut(3000);
            document.getElementById('_comment').value = '';
            $('#_comment').html("");

        } else if (data.split("::")[1] == false) {
            $("#data_status").html("Error occured in Comment Submission.. TryAgain..");
            $("#data_status").fadeOut(3000);
        }
    });
});

编辑:

我能理解的是,我还没有用ajax发布数据? 这是我需要做的吗?

$("#post_reply").click(function (event) {
$("#data_status").html("");
$('#ajax_loading').show();
event.preventDefault();
if (document.getElementById('_comment').value.trim() == "") {
    return false;
}
$.post('../services/leave_comment.php', $("#open_status").serialize(), function (data) {
    $('#ajax_loading').hide();
    if (data.split("::")[1] == true) {
        $("#data_status").html("Commented Successfully..");
        $("#data_status").fadeOut(3000);
        document.getElementById('_comment').value = '';
        $('#_comment').html("");


$.ajax({
type: 'POST',
url : 'http://localhost/tech1/services/get_more_comments.php',  
data: 'last_id='+last_id,
success: function(data){
$('.view_container').append(data);
},
complete: function(){
console.log('DONE');
                    }                       
                });

    } else if (data.split("::")[1] == false) {
        $("#data_status").html("Error occured in Comment Submission.. TryAgain..");
        $("#data_status").fadeOut(3000);
    }
});
 });

2 个答案:

答案 0 :(得分:0)

您的所有代码都将数据发布到服务器。没有任何内容可以从服务器获取新注释或手动附加发布的注释。您可以再次使用ajax刷新评论,也可以只使用发布的内容附加评论。

答案 1 :(得分:0)

我想在网上搜索jQuery的.load

示例:

function updateShouts(){
   // Assuming we have #shoutbox
   $('#shoutbox').load('latestShouts.php');
}

在这种情况下,shoutbox将包含您的评论div, 你会在你的ajax帖子的成功上调用这个函数 latestshouts.php只包含该div的内容。

有点难以解释,我希望你有意义

link:http://api.jquery.com/load/