2011-04-28 136 views
0

我在我的網站上有一個標題和一個主div。如何在不刷新頁面的情況下創建動態頁面,只需使用導航菜單將profile.php,search.php等文件放入我網站的主div中即可?動態php頁面

例如,我有profile.php作爲用戶主界面,並使用?action=action我已經實現了動態頁面。但是當涉及到搜索時,我必須將用戶重定向到search.php?query=search-text等等其他頁面。

謝謝。

回答

2

聽起來像你想做的content replacement using AJAX

+0

是ajax這裏唯一的解決方案嗎?不能通過php來完成嗎? 謝謝,將結帳鏈接 – fxuser 2011-04-28 07:15:54

+0

如果你不想頁面刷新發生,那麼是的,你將不得不使用AJAX。 – 2011-04-28 07:17:48

+0

PHP中的curl腳本怎麼樣? – Marty 2011-04-28 07:18:38

0

有幾種方法可以做到這一點。

如果您沒有使用框架(看起來您不是),您可以使用include/require將整個代碼塊插入文件(需要刷新頁面)。

如果您使用的是支持MVC結構的框架,那麼您將只包含多個視圖來構建響應頁面。語法在不同的框架中有所不同,所以很抱歉,沒有您的示例代碼(需要刷新頁面)。

你也可以使用AJAX。請注意,AJAX不是一種新的編程語言。它使用Javascript在特定的頁面/處理程序上對最終用戶的瀏覽器執行獨立調用,以便將您的服務器執行到您的服務器。然後,服務器端處理程序腳本處理您的請求,並返回一段HTML代碼或一小段文本,然後由最終用戶瀏覽器接收並隨後動態插入DOM(不刷新頁面)。

乾杯。

2

使用jQuery你可以做

$('#divid').load("URL") 

使用JavaScript和框架是唯一的方式來做到這一點,而無需刷新頭。框架被認爲是不好的實踐,所以AJAX和JQuery是你最好的選擇。

+0

大聲笑。剛剛殺了我的迴應。這很酷,謝謝。 – Marty 2011-04-28 07:17:51

+0

我按照自己的方式做了一次,並且有人向我展示了加載功能。讓生活變得更輕鬆! JQuery非常適合添加有用的工具來保存幾行代碼。 – Codemwnci 2011-04-28 07:19:11

0

我知道如何做到這一點的唯一方法是使用AJAX請求內容並將div的內容設置爲結果 - 可能不是最理想的(不確定,因爲我從未看過它)但我就是這麼想的。 JQuery會這樣簡單:

function loadPage(pg) 
{ 
    var container = $("#container"); 

    $.ajax({ 
     method: "post", 
     data: "page="+pg, 
     url: "loadhtml.php", 

     success: function(result) 
     { 
      container.html(result); 
     } 
    }); 
}