js 客戶端與伺服器端的通訊

2021-05-23 10:56:32 字數 1794 閱讀 7150

客戶端與伺服器端通訊一般有兩種方法,隱藏iframe和使用xmlhttp物件

隱藏框架技術實現ajax通常由4個過程組成。第一步是由使用者的某種行為引發了乙個對隱藏框架的請求。這包括使用者單擊了在可見框架頁中的超連結,或者由使用者的其他互動行為所引發。通常情況下,對隱藏框架頁的請求僅僅是將隱藏框架頁重定向到乙個伺服器上指定的服務端程式。對隱藏框架頁的重定向將自動觸發第二個過程:即向伺服器傳送請求。

例子:客戶端**:

html

伺服器端響應的web頁面aa.aspx

使用xmlhttp

xmlhttp是微軟建立的額物件,它的本質是新增額外的用於傳送和接收xml**的功能的普通的http請求。

當乙個xmlhttp物件把乙個http傳送到伺服器端,將經歷若干種狀態,而readystate這是描述這樣它的一系列狀態的乙個屬性值

取值   描述

0       描述一種「為初始化」狀態,此時,已經建立乙個xmlhttp物件,但是還沒有對它初始化

1       描述一種「準備傳送」狀態,此時,xmlhttp物件已經呼叫open()方法開啟乙個請求,並且xmlhttp物件準備把這個請求傳送到出去

2       描述一種「傳送」狀態,此時,xmlhttp物件已經呼叫send()方法將請求傳送出去,但是還沒有從伺服器端得到相應。

3       描述一種「正在接收」狀態,此時,已收到http相應頭部資訊,但是,訊息體部分還沒有完全接收

4       描述一種「已載入」狀態,此時,相應已經被完全接受。

responsetext屬性

這個屬性包含客戶端接收到的http響應的文字內容,當readystate屬性為0,1,2時,responsetext為空字串,當為3時,包含部分響應資訊,當readystate為4時,包含完整的相應資訊。

respon***ml屬性

statustext屬性

這個屬性描述了http狀態**文字,當且僅當readystate的值為3或4時才可用,當readysate為其它值時如果試圖讀取statustext將引發乙個異常

abort()方法

可以使用該方法來取消乙個http請求,從而把xmlhttp物件復位到為初始化狀態

open()方法

開啟乙個請求,通常包括三個引數,提交方式:get和post,請求的url,判斷同步還是非同步請求的布林值,同步為false,非同步為true.

send()方法

傳送乙個請求。xmlhttp物件呼叫send方法後,通常講readystate屬性從1變為2.它通常包含乙個引數,當使用get請求時,該引數可以為空,當使用post請求時,該引數通常是請求傳送的引數的字串。

setrequestheader()方法

該setrequestheader(domstring header,domstring value)方法用來設定請求的頭部資訊。當readystate值為1時,你可以在呼叫open()方法後呼叫這個方法;否則,你將得到乙個異常。

getresponseheader()方法

getresponseheader(domstring header,value)方法用於檢索響應的頭部值。僅當readystate值是3或4(換句話說,在響應頭部可用以後)時,才可以呼叫這個方法;否則,該方法返回乙個空字串。

getallresponseheaders()方法

該getallresponseheaders()方法以乙個字串形式返回所有的響應頭部(每乙個頭部佔單獨的一行)。如果readystate的值不是3或4,則該方法返回null。

例子。。驗證乙個使用者名稱是否存在

客戶端**

伺服器端bb.aspx**

客戶端與伺服器端通訊

關係圖 傳送 邏輯管理器 處理邏輯傳送指令 指令解析管理器 根據協議xml解析指令成二進位制資料 把二進位制資料傳給伺服器 接收 伺服器傳送二進位制資料到客戶端 指令解析管理器 根據協議xml解析二進位制資料 根據解析資料對映到邏輯類來處理 2 1 3 20 2,2 21 1,1,2 指令名和指令名...

C Socket TCP 客戶端,伺服器端通訊

客戶端與伺服器通訊,通過ip 識別主機 埠號 識別應用程式 埠號 可自行設定,但通常為4位。伺服器端 using system using system.collections.generic using system.linq using system.net using system.net.s...

客戶端與伺服器端的區別

一般來說,客戶端就是我們使用的電腦 包括我們使用的瀏覽器ie,firefox 伺服器端就是存放網頁與資料庫資料的伺服器 電腦上裝的魔獸程式就是客戶端程式,你連線的伺服器 九城的伺服器 就是是伺服器端程式 我們通常所說的動態 設計一般都是b s結構的,b是browser的縮寫,就是客戶端程式。s是se...