本頁只練什麼
能從 URL 與 Network request 位置說明 GET query 和 POST body 的概念差異。
查詢狀態常用 GET;把個資放 URL 會進入歷史、log 與分享網址,因此必須知道資料位置。
要修改的檔案:files/starter/contact.html
定位:先確認每個需提交欄位有 name。|依 module-4 定位,只修改「GET query string 與 POST 概念差異」的責任。
LESSON-03 · TOPIC 04
能從 URL 與 Network request 位置說明 GET query 和 POST body 的概念差異。
能從 URL 與 Network request 位置說明 GET query 和 POST body 的概念差異。
查詢狀態常用 GET;把個資放 URL 會進入歷史、log 與分享網址,因此必須知道資料位置。
要修改的檔案:files/starter/contact.html
定位:先確認每個需提交欄位有 name。|依 module-4 定位,只修改「GET query string 與 POST 概念差異」的責任。
先結果,再原理;完成後要能說出自己看見的證據。
團隊說表單是 GET,卻無法在網址與 Network 指出 payload。
起始狀態:URL 沒有 query,output 尚未顯示參數。
location.search 含 service/name,paramCount=2,remote request=0。
驗收證據:search 含 service/name、paramCount=2、href 有問號且零遠端請求
GET 用於無副作用、可分享查詢;POST 用於提交、建立或較多 payload。
常見混淆:POST 不等於安全或加密;GET 也不等於只能取得靜態檔案。
這段程式是理解起點,不是要你直接跳過 Starter。
GET 常把欄位放到網址問號後;POST 通常把資料放 request body,但不因此自動加密。
正式說法:GET form 將 successful controls 編碼為 URL query;POST 使用 request body,保密性仍取決於 HTTPS 與系統處理。
URLSearchParams 將 service=audit 與 name=An 編成 query。每一步都留下可觀察結果;如果沒看到,先看「卡住先查」。
檔案:files/starter/contact.html 定位:先確認每個需提交欄位有 name。
要做:先重新載入 Starter,記錄目前畫面、DOM、Computed、Console 或文件內容。
預期:能指出「先確認每個需提交欄位有 name。」目前的缺口。
證據:保存 files/starter/contact.html 的目前狀態,並指出下一步只會修改哪個檔案責任。
卡住先查:確認開啟的是 files/starter/contact.html,且定位到 先確認每個需提交欄位有 name。。
檔案:files/starter/contact.html 定位:先確認每個需提交欄位有 name。
要做:以兩個本地參數建立 query,用 history.replaceState 更新 URL 並顯示結果。
預期:location.search 含 service/name,paramCount=2,remote request=0。
證據:search 含 service/name、paramCount=2、href 有問號且零遠端請求
卡住先查:先確認每個需提交欄位有 name。
檔案:files/starter/contact.html 定位:先確認每個需提交欄位有 name。
要做:重新整理頁面,再逐項比對預期結果與 evidence。
預期:location.search 含 service/name,paramCount=2,remote request=0。
證據:search 含 service/name、paramCount=2、href 有問號且零遠端請求
卡住先查:先確認每個需提交欄位有 name。
這個示範只讓你看懂概念,不會替你修改 Starter,也不會自動宣告完成。
勾選只是學習紀錄;真正完成仍要回到 Starter 的實際結果。
先從 URL 問號後面找參數。
以 URLSearchParams 編碼兩個有 name 的欄位。
完整解答與原因:建立 service/name 的 URLSearchParams 並寫進當前 search;因為 GET 的 successful controls 會編碼在 query,POST 則放 request body。