作者xxzrainy (rainy)
看板Web_Design
標題[請益] 網頁技術是如何實現動態生成大量的html
時間Wed May 31 01:26:51 2023
各位前輩好,小弟目前自學網頁半年,若用語有任何不當還請海涵並指正。
最近在練習如何做出一個評論/QA常見問題的區塊。
如果是少量的評論,直接替換HTML標籤裡的文字就好。
主要是想請教,是什麼樣的技術可以一直動態生成數以百計的評論呢?
以我半年的學習角度會讓我聯想到word裡面的合併寄件功能,不知道兩者有無聯繫。
懇請各位前輩指點迷津了,謝謝。
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 49.216.236.124 (臺灣)
※ 文章網址: https://webptt.com/m.aspx?n=bbs/Web_Design/M.1685467613.A.5FD.html
1F:推 LPH66: 你知道一些伺服器方的程式語言嗎? 如 php 或 asp 等的 05/31 01:59
2F:推 Chian3675: 每個評論都是被存在資料庫裡的,前端只是去call api撈 05/31 04:24
3F:→ Chian3675: 資料出來,再對這些資料去跑迴圈並顯示而已 05/31 04:24
4F:→ xxzrainy: 繼續爬資料後 有看到結合php和SQL寫出來的系統 大致上可 05/31 08:38
5F:→ xxzrainy: 以理解了 05/31 08:38
6F:→ xxzrainy: 只是前後端如何串連 這部分還在我的理解外 會繼續學習 05/31 08:40
7F:→ xxzrainy: 的 感謝 05/31 08:40
8F:推 single4565: 這個問題看起來你可以錄影再問清楚一點你看到什麼效 05/31 17:00
9F:→ single4565: 果?但這看起來就是JavaScript或Ajax當關鍵字可以找 05/31 17:00
10F:→ single4565: 到的問題 05/31 17:00
11F:→ xxzrainy: 好的 ajax的原理我也還不太了解 再來學習 05/31 18:22
12F:→ Hsins: 這個問題的關鍵字不應該是 JavaScript 或是 AJAX,雖然有些 05/31 23:53
13F:→ Hsins: 相關…… 05/31 23:53
14F:→ Hsins: 瀏覽器會根據 URL 向伺服器發送請求,請求返回的內容會有不 05/31 23:54
15F:→ Hsins: 同的格式,通常對應的是一個資源,可能是一個 HTML 文件、 05/31 23:54
16F:→ Hsins: 可能是一張圖片或是影片,也可能會是 CSS 樣式表和 JS 腳本 05/31 23:55
17F:→ Hsins: ;最起初的網際網路都是返回靜態的文件,也就是說是一份已 05/31 23:55
18F:→ Hsins: 經固定內容的 HTML 檔案,而為了處理你說的這個問題,發展 05/31 23:56
19F:→ Hsins: 出了 CGI 介面,可以交由伺服器上的某一支程式,根據請求的 05/31 23:56
20F:→ Hsins: 內容,去產生要返回的 HTML 資料流,早期的 CGI 程式可以透 05/31 23:57
21F:→ Hsins: 過 Perl, PHP 甚至 C 語言去撰寫;這些程式要獲取資料的方 05/31 23:57
22F:→ Hsins: 式又可以非常多樣,比如說讀取伺服器上的另外一份文件中的 05/31 23:58
23F:→ Hsins: 內容,或者是與資料庫交互取得資料等;現代多數的網頁後端 05/31 23:59
24F:→ Hsins: 框架,都可以很簡單地透過搭配的模板引擎,填入資料並返回 05/31 23:59
25F:→ Hsins: 結果。以現代的說法來說,這稱作 Server-side Rendering 06/01 00:00
26F:→ Hsins: 這樣的過程,由於資料會根據請求,在伺服器端填充返回,並 06/01 00:00
27F:→ Hsins: 不用涉及到 JavaScript 中再次請求內容和 AJAX 技術。 06/01 00:01
28F:→ Hsins: 而 AJAX 技術,是為了處理同一個頁面上,不想要透過切換頁 06/01 00:03
29F:→ Hsins: 面,就希望再次獲得資料,而透過使用者在頁面上的操作,再 06/01 00:03
30F:→ Hsins: 次打請求到伺服器獲取資料,然後再由 JavaScript 將這些資 06/01 00:04
31F:→ Hsins: 料,以操作頁面 DOM 元素的方式,將獲取到的資料渲染或掛上 06/01 00:04
32F:→ Hsins: 。而現代 React 這類前端函數庫或框架,更是簡化了許多,讓 06/01 00:05
33F:→ Hsins: 頁面內容得以先返回,剩下再藉由獲取資料來填充,由於這時 06/01 00:06
34F:→ Hsins: 瀏覽器呈現的結果,幾乎都是在客戶端完成的,所以現代又稱 06/01 00:07
35F:→ Hsins: 這樣的作法是 Client-Side Rendering 06/01 00:07
36F:→ Hsins: --- 06/01 00:08
37F:→ Hsins: 而即使是透過 AJAX 去獲取資料,這些資料也幾乎是在伺服器 06/01 00:08
38F:→ Hsins: 交由一些程式邏輯去與資料庫交互,獲得資料再以對應的格式 06/01 00:09
39F:→ Hsins: 返回。之所以說這兩個關鍵字並不是他所要的答案,是因為他 06/01 00:09
40F:→ Hsins: (JavaScript 或者 AJAX)的角色與功能,是獲取別人寫好的 06/01 00:11
41F:→ Hsins: 內容,並且也有其他方式是可以不需要透過 AJAX 就能達到原 06/01 00:11
42F:→ Hsins: Po 期望的動態返回內容 06/01 00:11
43F:→ xxzrainy: H大…太多了 受寵若驚 我會慢慢消化的 06/01 03:06
44F:→ hhhomerun: 看你的發文 你已經有把問題抽象化的能力 所以你應該可 06/03 00:06
45F:→ hhhomerun: 以從chatgpt輕易地得到你想要的答案 多多和chatgpt培養 06/03 00:07
46F:→ hhhomerun: 感情吧 06/03 00:07
47F:推 imgodd: 動態生成就是一個容器根據id取得指定內容 顯示到介面 06/24 23:29