導航:首頁 > 配伺服器 > 伺服器端如何獲取客戶端提交的中文信息

伺服器端如何獲取客戶端提交的中文信息

發布時間:2025-06-27 06:42:03

① post和get的區別

區別一:語義上的區別

1、Get向伺服器請求數據。依照HTTP協議,get 是用來請求數據。

2、Post向伺服器發數據。依照HTTP協議,Post的語義是向伺服器添加數據,也就是說按照Post的語義,該操作是會修改伺服器上的數據的。

區別二:伺服器請求的區別

1、Get請求是可以被緩存的,舉個例子,你訪問.com,就是向的伺服器發了個Get請求,這個請求的返回,也就是的主頁頁面內容,會被緩存在你瀏覽器中,短時間再次訪問,其實是拿到的瀏覽器中的緩存內容。另外Get請求只能接收ASCII碼的回復

2、Post請求是不可以被緩存的。對於Post方式提交表單,刷新頁面瀏覽器會彈出提示框 「是否重新提交表單」,Post可以接收二進制等各種數據形式,所以如果要上傳文件一般用Post請求。

區別三:參數放請求頭和請求體的差別

1、Get請求通常沒有請求體(當然這也是可以由程序猿心情改變的),在TCP傳輸中只需傳輸一次(而不是一個包),所以Get請求效率相對高。

2、Post請求將數據放在請求體中,而實際傳輸中,會先傳輸完請求頭,再傳輸請求體,是分為兩次傳輸的(而不是兩個包)。Post請求頭會比Get更小(一般不帶參數),請求頭更容易在一個TCP包中完成傳輸,更何況請求頭中有Content-Length的標識,可以更好地保證Http包的完整性。

② Ajax向伺服器發送請求和接收返回的信息

Ajax向伺服器發送請求

Ajax對象創建完成後,下面就要講解一下Ajax如何使用。首先詳細講解一下Ajax向伺服器發送請求所需的兩個方法,具體如下:

(1)open()方法

open()方法用於創建一個新的HTTP請求,並指定此請求的類型(如GET、POST等)、URL以及驗證信息,其聲明方式如下所示:

在上述聲明中,method用於指定請求的類型,其值可為POST、GET、PUT及PROPFIND,大小寫不敏感;URL表示請求的地址,可以為絕對地址也可以為相對地址,並且可以傳遞查詢字元串。其餘參數為可選參數,其中,asyncFlagy用於指定請求方式,同步請求為false,默認為非同步請求true;userName用於指定用戶名,password用於指定密碼。

(2)send()方法

send()方法用於發送請求到HTTP伺服器並接收回應。其聲明方式如下所示:

在上述聲明中,content用於指定要發送的數據,其值可為DOM對象的實例、輸入流或字元串,一般與POST請求類型配合使用,需要注意的是,如果請求聲明為同步,該方法將會等待請求完成或者超時才會返回,否則此方法將立即返回。

需要注意的是,在使用GET方式傳遞特殊字元或中文參數時,要使用JavaScript中的encodeURIComponent()函數將其轉換成「%十六進制數」的形式,防止在某些瀏覽器(如IE瀏覽器)中中文亂碼的問題。

Ajax接收伺服器返回的信息

了解Ajax向伺服器發送請求後,下面將對Ajax如何接收伺服器返回的信息(例如,HTML標簽、CSS樣式、字元串、XML、JSON等),進行詳細講解。具體如下:

(1)readyState屬性

readyState屬性用於返回Ajax的當前狀態,狀態值有5種形式,具體如表所示。

(2)onreadystatechange屬性

onreadystatechange事件屬性用於感知readyState屬性狀態的改變。為了大家更好的理解這兩個屬性的使用,下面創建一個伺服器端的文件index.php,用於輸出字元串,然後在瀏覽器端index.html中向伺服器端發送請求,並在控制台輸出狀態值。具體示例如下所示:

創建伺服器端文件:index.php

創建瀏覽器端文件:index.html

在瀏覽器中訪問客戶端文件,按「F12」鍵,切換到控制台,查看輸出結果,具體如下圖所示。

從圖中可以看出,通過onreadystatechange事件屬性可以清晰的感知Ajax狀態的改變,同時使用readyState獲取轉變後的狀態值。例如Ajax從0(未初始化)狀態變成1(初始化)狀態值時,Ajax此時的狀態值為1。

(3)status屬性

status屬性用於返回當前請求的HTTP狀態碼,常見的狀態碼如表所示。

值得一提的是,在感知當前Ajax對象狀態時,為了追求程序的嚴謹性,需要同時判斷當前HTTP狀態status是否等於200(請求成功)。

需要注意的是,Ajax中的statusText屬性,僅當數據發送並接收完畢後,才可以獲取當前請求的響應狀態。

(4)獲取響應信息的相關屬性

當數據接收完畢且請求伺服器的請求成功時,即可以使用Ajax中提供的相關屬性獲取伺服器的響應信息。具體的屬性及相關說明如下表所示。

在上表中,responseText屬性用於返迴文本格式的響應數據;屬性responseBody表示直接從伺服器返回並未經解碼的二進制數據;responseXML屬性用於接收XML數據格式的響應數據。

閱讀全文

與伺服器端如何獲取客戶端提交的中文信息相關的資料

熱點內容
黃帝內經說什麼pdf 瀏覽:640
加密韓語怎麼樣 瀏覽:932
androiducrop 瀏覽:997
怎麼改雲端伺服器的密碼 瀏覽:612
把文件夾發送到另一個微信 瀏覽:823
兩台伺服器電腦如何交叉使用 瀏覽:591
伺服器上怎麼檢測丟包 瀏覽:636
bmpcc4k如何連接app 瀏覽:927
氛圍pdf 瀏覽:182
東方財富app分時圖如何分格 瀏覽:496
vivo怎麼傳app到新機 瀏覽:178
網站管理助手php 瀏覽:456
原神默認安裝在哪個文件夾 瀏覽:267
為什麼樁的箍筋加密 瀏覽:230
柱間二技能加密卷 瀏覽:477
程序員無奈圖片 瀏覽:729
寧波地鐵app怎麼刷上海地鐵 瀏覽:159
如何解壓x管理器 瀏覽:101
android圖片分割 瀏覽:443
如何查看虛擬機內伺服器文件路徑 瀏覽:240