2011-05-01 46 views
0

這是一個菜鳥問題,所以請大家慷慨解囊。關於jQuery的問題並重新載入頁面

以Twitter爲例。頂部有一個輸入文字表單,用於撰寫推文並位於推文列表下方。如果您撰寫新推文並點擊「Tweet」按鈕,您將立即在推特列表中看到您的新推文,無需重新加載頁面。我知道這是一個平庸的情況,但順便我想問你。

我有一個頁面,頂部有一個窗體,下面有一個消息列表。填寫表單並提交新消息時,會重新加載該頁面,並且您會看到帶有新消息的更新消息列表。我想實現Twitter使用的相同技術。也許我應該使用jQuery,並將數據發送到$.post的頁面。你能解釋一下嗎?

+0

你可以發佈你的標記?或者在[JS Fiddle](http://jsfiddle.net/)上發佈一些東西來展示你的使用? – 2011-05-01 20:47:41

+1

是的,使用jQuery和'$ .post()'。如果你無法正常工作,請使用你試過的代碼回到這裏,我相信有人會幫你調試它。 http://api.jquery.com/jQuery.post/供參考。 – ggutenberg 2011-05-01 20:49:27

+0

@David我沒有標記,我有一個簡單的表單,在數據庫中插入一條消息,並在其下方顯示消息列表。很簡單。但每次提交後頁面都會重新加載。我不想重新加載,但我希望消息列表在提交後立即刷新。 – 2011-05-01 21:02:09

回答

1

當你是一個初學者,我覺得最簡單的方式將是我會描述的一個。 如果你有這個div(您希望新的飼料出現):

標記:

<div id="feeds"> 
    <div class="feed"> Feed 1</div> 
    <div class="feed"> Feed 2</div> 
    <!-- Your new feed will appear here --> 
</div> 

的Javascript:

$("div.feed:last").clone().appendTo("#feeds").load("newfeed.php?param1=val1"); 

服務器(asuming PHP):

<? //newfeed.php 
    $param1 = $_GET['param1']; 
    $content = "Here put your latest feed"; 
    echo $content; 
?> 

就是這樣。

現在,我要解釋一下我們的JavaScript線

$("div.feed:last")  //Select the last div with class "feed" 
    .clone()    //We clone it, to make space for the new feed 
    .appendTo("#feeds") //We add the clone to the final of the feed list 
    .load("newfeed.php?param1=val1"); //Load it's content with a value got from server 

當你覺得使用jQuery更舒適,使用$就不是在做什麼。 希望這可以幫助,歡呼

+0

非常感謝你。一個實際的例子總是非常有用。 – 2011-05-02 02:46:19