function insert()
        {     
            var content = $("#content").text(); 
             
            var newsId= $("#newsId").val();            var url = "CommentList.aspx?NewsId=" + newsId;               $.post(url,{ "act":"insert", "content":encodeURI(content)},
                function(data){
                        if(data == "100"){
                            $("body").load(url);
                        } 
                    }
            );
        }如代码所示:这是一个评论列表页面,想无刷新发表评论。
newsId是新闻id,
content 是评论内容,
data == "100"表示发表成功。现在问题是,只有第一次执行发表评论时,页面会异步刷新。
之后的发表评论都不异步刷新,但是评论会插入到数据库中。
而且返回的data值也等于100.求解!!!

解决方案 »

  1.   

    但是评论会插入到数据库中 
    data还是返回 100  这里是没有错的 。
    是不是$("body").load(url);的问题 ?
      

  2.   

    先看查数据库了没 ? 如果查了 没刷新 那肯定是$("body").load(url);的问题
      

  3.   

    $("body").load(url+"&dt="+new Date().valueOf());
    加个变化的数字看看
      

  4.   

    $("body").load(url)
    默认使用 GET 方式 - 传递附加参数时自动转换为 POST 方式
      

  5.   

    数据库里是数据的,的确是$("body").load(url)出了问题。
    但是我尝试了加个变化的数字也还是不行。
    它只有第一次发表评论的时候能异步刷新一下。
    就好像$("body").load(url)执行过第一次后,第二次就不执行了一样。用firebug调试过,发现代码会执行到$("body").load(url)这一行,
    但是就是没反应。真的很迷惑。
      

  6.   

    你这个很普通的ajax ,却进行了两次ajax请求 。
    jquery 有时候也挺害人的 。
    如果你不用jq ,就会知道成功后的代码不应该那么写 。