Ajax/Javascript用户状态更新


Ajax/Javascript User Status update

我需要做的是,不仅用newmsg和用户id为用户的最新状态更新做准备,而且我还需要添加我的评论切换链接、我的分隔符postiddiv、我的用户图片和名称、我的删除按钮以及我的喜欢和不喜欢按钮。所以我想要的是类似Twitter和facebook的功能。->将表单数据发送到ajax中,并将所有内容打印到提要中。我的profile.php包含了我使用的所有需要包含的内容。

那么,在Ajax成功之后,有没有一种方法可以调用这些html块并将它们显示在预先准备好的div中呢?这真的很难解释,因为我不知道我在做什么,但希望你能明白。我只是不了解这一切。

PROFILE.PHP

   $(document).ready(function(){
    $("form#myform").submit(function(event) {
    event.preventDefault();
    var content = $("#toid").val();
    var newmsg = $("#newmsg").val();
    $.ajax({
    type: "POST",
    cache: false,
    url: "insert.php",
    data: "toid=" + content + "&newmsg=" + newmsg, 
    success: function(){
    $("#myThing").prepend("<div class='userinfo'>"+newmsg+" </div>");
    }
    });
    });
    });
    </script>
    <div class="userinfo"><div id="divider">
    <div class="form">
    <form id="myform"  method="POST"  class="form_statusinput">
    <input type="hidden"  name="toid" id="toid" value="<?php echo $user1_id; ?>">
    <input class="input" name="newmsg" id="newmsg" placeholder="Say something" autocomplete="off">
    <div id="button_block">
    <input type="submit" id="button" value="Feed">
    </div>
    </form>
    </div></div></div></body>
    <p id="myThing"></p>

  COMMENT LINK
echo "<div class='stream_option'><a style='cursor:pointer;' id='commenttoggle_".$streamitem_data['streamitem_id']."' onclick='"toggle_comments('comment_holder_".$streamitem_data['streamitem_id']."');clearTimeout(streamloop);swapcommentlabel(this.id);'"> Write a comment...</a></div>";
}else{
echo "<div class='stream_option'><a style='cursor:pointer;' id='commenttoggle_".$streamitem_data['streamitem_id']."' onclick='"toggle_comments('comment_holder_".$streamitem_data['streamitem_id']."');clearTimeout(streamloop);swapcommentlabel(this.id);'"> Show Comments (".$num2.")</a></div>";

类似链接

cho "<div class='stream_option'><a id='likecontext_".$streamitem_data['streamitem_id']."' style='cursor:pointer;' onClick='"likestatus(".$streamitem_data['streamitem_id'].",this.id);'">";

不喜欢链接

echo "<div class='stream_option'><a id='dislikecontext_".$streamitem_data['streamitem_id']."' style='cursor:pointer;' onClick='"dislikestatus(".$streamitem_data['streamitem_id'].",this.id);'">";

删除链接

<? if($streamitem_data['streamitem_creator']==$_SESSION['id']){
echo "<div style='cursor:pointer;position:relative;top:-70px;float:right;padding-right:5px;' onclick='"delete_('".$streamitem_data['streamitem_id']."');'">X</div>";}   

我猜这里是:

success: function(){
  $("#myThing").prepend("<div class='userinfo'>"+newmsg+" </div>");
}

插入HTML的位置在哪里?如果是这种情况,并且insert.php返回HTML,请尝试以下操作:

success: function(r){
  $("#myThing").prepend("<div class='userinfo'>"+newmsg+r.responseText+" </div>");
}

获取ID:
我想插入是用mysql完成的,所以在插入新消息后,你应该这样做:

$new_id = mysql_insert_id();

然后输出HTML:

echo "<div class='stream_option'><a id='likecontext_".$new_id."' style='cursor:pointer;' onClick='"likestatus(".$new_id.",this.id);'">";
echo "<div class='stream_option'><a id='dislikecontext_".$new_id."' style='cursor:pointer;' onClick='"dislikestatus(".$new_id.",this.id);'">";
if ($new_id == $_SESSION['id'])
  echo "<div style='cursor:pointer;position:relative;top:-70px;float:right;padding-right:5px;' onclick='"delete_('".$new_id."');'">X</div>";