簡體   English   中英

通過鏈接在頁面上加載新內容而不更改URL

[英]Loading new content on the page via a link without changing the URL

我正在類似Facebook的社交網站上工作。 但是,我在編程中面臨一個相當混亂的階段。

注冊/登錄/登出頁面/腳本已完成,您可以使用www.mywebsite.com/profile.php查看配置文件。

現在,我想做Facebook要做的事情,並允許用戶在個人資料頁面上單擊鏈接(信息,注釋,照片),但實際上從不離開www.mywebsite.com/profile.php-僅在屏幕上打印適當的內容。

怎么做? 我不是在要求任何人為我編寫代碼,只是向我指出正確的方向!

您可以為此目的使用Ajax。

將要替換的內容放在div中,然后使用ajax替換該div,僅發送該內容。

那必須通過Javascript和Ajax完成。

單擊鏈接后,將觸發JavaScript函數。 一個ajax請求被發送到相應的php腳本,該腳本將響應返回給您的javascript函數。 然后,您解析此響應並將其放在屏幕上。

如果您采用這種方式,那么在用戶關閉JS的情況下,還有一個不依賴javascript的后備選項。

為此,您需要一種稱為Ajax的技術,該技術是異步JavaScript和XML的簡稱。 基本思想是,當用戶執行某項操作(在您的情況下,單擊鏈接或按鈕)而不是加載頁面時,將運行腳本,該腳本調用服務器端腳本以發送回一些數據。 這有時是XML,但您也可以獲取其他類型的數據。 異步部分是,用戶和頁面可以在等待腳本返回所需數據的同時繼續做其他事情。

我讀過一本適合Ajax初學者的好書: Head First Ajax 看起來您可以以10美元左右的價格拿起二手副本。 這是一個不錯的介紹,具有一些古怪的風格,吸引了一些讀者,並且作者竭盡所能來吸引您的注意。 硬核程序員可能不會喜歡這一本書,但是我覺得您對這款游戲來說是新手,這可能是一本好書。 否則, 谷歌“學習Ajax”並且有不計其數的資源。

祝好運!

要回復您的評論,您可以設置一個“路由器”腳本,該腳本接受輸入並運行特定的功能以進行響應。 此“路由器”函數在$ _GET []超全局變量中查找諸如“ action”之類的參數,然后調用相應的函數。 如果未發送操作參數,則路由器將調用默認功能。

現在更多細節。 您的頁面腳本將包含3個基本部分:路由器,各種操作功能和頁面模板功能。 路由器只是從動作函數中調用適當的函數,然后將輸出傳遞到模板函數中。 這里有一些例子。

用戶到達頁面index.php。 沒有指定動作,因此路由器找到$ _GET ['action'] ==''並調用default_action()。 這將返回一個歡迎消息,狀態等信息,路由器會將此輸出傳遞給顯示頁面的功能,包括輸出。

現在,用戶單擊鏈接/按鈕進行更新,然后到達index.php?action = update。 $ _GET ['action'] =='update',因此路由器調用update_action()。 輸出繼續顯示模板功能。

這是否有助於您設想如何實現此目的?

您可以使用此參考...

函數showdiv(id){if(id){

var selected_offer="yourpagename.php"
HTML_AJAX.replace('divname',selected_offer);


}

}

在鏈接的onChange()函數上調用showdiv。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM