阿摩線上測驗 登入

申論題資訊

試卷:106年 - 106年公務人員普通考試-程式設計概要#63225
科目:程式設計
年份:106年
排序:0

題組內容

五、AJAX 即「Asynchronous JavaScript and XML」(非同步的 JavaScript 與 XML 技術) 為一重要且普遍用來產生高互動網頁的技術,可讓使用者在執行 AJAX 網頁時就像在執行桌上電腦程式(desktop application)一樣順暢(如圖二)。
5ebca8392d162.jpg

申論題內容

(三)請說明網頁程式碼中‘xmlhttp.readyState==4’,‘xmlhttp.status==200’ 及‘"gethint.php?q="+str’代表的意義為何?

詳解 (共 1 筆)

詳解 提供者:hchungw
使用了AJAX技術來非同步與伺服器交互。這裏使用的XMLHttpRequest對象允許JavaScript在不刷新頁面的情況下,與伺服器進行數據交換和更新部分網頁內容。以下是每個術語的具體意義:
xmlhttp.readyState == 4
xmlhttp是一個XMLHttpRequest對象。
readyState是一個屬性,表示請求/回應過程的狀態。
readyState == 4表示請求已完成,並且回應已就緒。這是XMLHttpRequest的四個可能狀態之一,其他狀態(0-3)表示不同的準備階段,其中:
0 - 請求未初始化(open方法尚未被調用)。
1 - 伺服器連接已建立(open方法已被調用)。
2 - 請求已接收(send方法已被調用,且頭部和狀態可獲得)。
3 - 請求處理中(正在下載回應內容)。
xmlhttp.status == 200
status是XMLHttpRequest對象的一個屬性,它包含了由伺服器返回的HTTP狀態碼。
status == 200表示HTTP請求成功,伺服器返回了網頁。200是HTTP協議中表示請求成功的標準狀態碼。
其他常見的HTTP狀態碼包括:
404 - 請求的資源(網頁等)不存在。
500 - 伺服器內部錯誤。
"gethint.php?q=" + str
這是一個URL字串,用於AJAX的HTTP GET請求。
"gethint.php"是伺服器端的腳本檔,JavaScript通過AJAX請求調用此檔。
?q=是查詢字串的開始,它將傳遞給gethint.php的參數。
str是一個變數,包含了用戶在文本框中輸入的文本,它被附加到查詢字串中,作為q參數的值發送給伺服器。
當這個請求被發送到伺服器時,伺服器上的gethint.php腳本會處理這個請求,可能會使用參數q的值來檢索數據,然後將回應返回給客戶端的JavaScript處理。
總的來說,當XMLHttpRequest對象的readyState屬性變為4,並且status屬性為200時,AJAX請求成功完成,回應數據已經準備好由JavaScript進一步處理,比如更新網頁內容。而"gethint.php?q=" + str是請求發送到伺服器的URL,攜帶了用戶的輸入數據。