關(guān)于Ajax

一贡珊、異步請求
(1) 什么是網(wǎng)絡(luò)
是多臺互聯(lián)的計算機組成的對象數(shù)據(jù)通信結(jié)構(gòu)
物理層面將網(wǎng)絡(luò)區(qū)分為幾種網(wǎng)絡(luò)結(jié)構(gòu):

  • 局域網(wǎng):工作在一個局部范圍的多臺計算機,一般計算機數(shù)量不會特別多涉馁;大部分情況下都是幾十臺計算機
  • 城域網(wǎng):廣義上指代工作在一個城市的計算機網(wǎng)絡(luò)體系
  • 廣域網(wǎng):廣義上指代的全球互聯(lián)網(wǎng)絡(luò)
    (2) 網(wǎng)絡(luò)數(shù)據(jù)共享
    計算機和計算機之間门岔,實現(xiàn)網(wǎng)絡(luò)互聯(lián)之后,可以通過網(wǎng)絡(luò)完成數(shù)據(jù)通信烤送,需要滿足如下的條件:
  • 實現(xiàn)互聯(lián)
  • 約定數(shù)據(jù)通信格式
    • 網(wǎng)絡(luò)協(xié)議:約定傳輸?shù)氖鞘裁磾?shù)據(jù)寒随,什么數(shù)據(jù)格式
    • ip地址:約定傳輸?shù)侥桥_計算機
    • 網(wǎng)絡(luò)端口:約定傳輸給那個程序
    • 網(wǎng)絡(luò)路徑:訪問對應(yīng)的資源和數(shù)據(jù)
      (3) 網(wǎng)絡(luò)傳輸協(xié)議
      主要描述了工作在網(wǎng)絡(luò)中的計算機,進行數(shù)據(jù)傳輸?shù)募s定/格式帮坚;主要包含了協(xié)議本身已經(jīng)協(xié)議中要求的數(shù)據(jù)的格式妻往!
      ① 常見的網(wǎng)絡(luò)傳輸協(xié)議
協(xié)議 描述
http:// 超文本傳輸協(xié)議,一般用在網(wǎng)站上使用<br />HyperText Transfer Protocal叶沛;專門用于在網(wǎng)絡(luò)上傳輸HTML文件
https:// 安全的超文本傳輸協(xié)議蒲讯,一般用在需要有一定的保密性的網(wǎng)站上使用<br />HyperText Transfer Protocal Secrity;專門在網(wǎng)絡(luò)上安全的傳輸HTML文件
ftp:// 文件傳輸協(xié)議<br />File Transfer Protocal灰署;專門在網(wǎng)絡(luò)上傳輸二進制文件判帮,如圖片局嘁、音頻、電影..
smtp:// 郵件傳輸協(xié)議<br />Simple Mail Tansfer Protoacl晦墙;專門在網(wǎng)絡(luò)上傳輸電子郵件
pop3:// 郵局協(xié)議悦昵,專門接受郵件
ssh:// 隧道協(xié)議,專門做遠程鏈接數(shù)據(jù)通信
...
tcp 傳輸控制協(xié)議晌畅;工作在網(wǎng)絡(luò)上的底層協(xié)議但指,是上面一些協(xié)議的基礎(chǔ)<br />Tansfer Control Protocal
udp 廣播協(xié)議;工作在網(wǎng)絡(luò)上的底層協(xié)議抗楔,上面一些協(xié)議的基礎(chǔ)棋凳,經(jīng)常用于開發(fā)游戲
ip 數(shù)據(jù)包協(xié)議,工作在網(wǎng)絡(luò)的底層協(xié)議连躏,是tcp/udp協(xié)議的基礎(chǔ)

OSI/RM網(wǎng)絡(luò)互聯(lián)模型
在 OSI/RM 模型的基礎(chǔ)上剩岳,網(wǎng)絡(luò)軟件開發(fā)中衍生出了 TCP四層模型

image.png

(4) 網(wǎng)絡(luò)傳輸端口

端口 描述
80 瀏覽器軟件,訪問http://協(xié)議使用
443 瀏覽器軟件入热,訪問https://協(xié)議使用
20/21 FTP軟件在訪問ftp://協(xié)議使用
110 smtp郵件協(xié)議使用
3306 mysql數(shù)據(jù)庫訪問端口
22 ssh協(xié)議訪問端口
...... ......

(5) 關(guān)于IP地址
描述了 網(wǎng)絡(luò)協(xié)議地址拍棕;就是在網(wǎng)絡(luò)上的給每個計算機分配唯一一個地址來標識當前計算機!
主流的IP地址勺良,主要有兩種格式:

  • IPv4:以四段绰播、8位二進制數(shù)據(jù)標識的地址:
    • 二進制:00000000.00000000.00000000.00000000~11111111.11111111.11111111.11111111
    • 十進制:0.0.0.0 ~ 255.255.255.255
    • 目前市場主流的IP地址
  • IPv6:以十六進制的方式描述計算機的地址
    • 本地鏈接 IPv6 地址. . . . . . . . : fe80::b097:32a3:1921:95c4%14
      IPv4不同的地址段,描述的主體不同:
  • A類地址:1.0.0.0~126.0.0.0尚困,可以用來描述1億多個主機地址
    • 首位地址:1~126蠢箩,都是A類網(wǎng)絡(luò)地址
    • 局域網(wǎng):10.10.x.x,是A類網(wǎng)絡(luò)的局域網(wǎng)地址
  • B類地址:128.0.0.0~191.255.255.255尾组,可以用于容納16382 * 6W左右主機
    • 首位地址:128~191忙芒,都是B類地址
  • C類地址:192.0.0.0~223.255.255.255可以用于容納209W * 254左右主機
    • 首位地址:192~233
    • 局域網(wǎng):192.168.x.x,是C類網(wǎng)絡(luò)的局域網(wǎng)地址
  • D/E類地址:保留地址讳侨,主要用于實驗室做實驗使用呵萨、特定機構(gòu)使用
    二、Ajax技術(shù)
    (1) 什么是Ajax
    描述了一種通過JavaScript技術(shù)完成異步XML格式數(shù)據(jù)交互的技術(shù)跨跨,主要通過JavaScript XMLHttpRueset異步對象完成XML格式文件的處理潮峦;早期的Ajax就是異步交互XML格式的數(shù)據(jù)的,后來通過JSON格式的數(shù)據(jù)替代了XML格式勇婴;但是Ajax名稱依然沿用忱嘹!

Ajax中的各項技術(shù):

  • XMLHttpRequestJavaScript異步對象
  • json數(shù)據(jù):json字符串和json對象之間進行切換stringify() / parse()
  • DOM渲染:接口返回的數(shù)據(jù),我們需要在HTML網(wǎng)頁中渲染展示
    (2) 基本語法
    Ajax作為一個異步請求耕渴,包含了5個步驟:準備(創(chuàng)建對象)拘悦、連接服務(wù)器、發(fā)送請求橱脸、處理請求础米、處理響應(yīng)
  • 0準備:創(chuàng)建異步對象分苇,前端操作
  • 1連接服務(wù)器:打開和指定接口地址的連接、前端操作
  • 2發(fā)送請求:通過異步對象發(fā)送請求和需要的參數(shù)數(shù)據(jù)屁桑,前端操作
  • 3處理請求:后端操作
  • 4處理響應(yīng):獲取到接口返回的數(shù)據(jù)医寿,DOM操作在頁面中渲染數(shù)據(jù),前端操作
// 1蘑斧、準備
var http = new XMLHttpRequest()
// 2靖秩、連接服務(wù)器
http.open('GET', 'https://www.example.com')
// 3、發(fā)送請求竖瘾、參數(shù)
http.send("city=鄭州")
// 4沟突、處理響應(yīng)數(shù)據(jù)
http.onreadystatechange = function() {
  // 保障當前是最后一個階段,并且接口正確返回了數(shù)據(jù)
  // readState : 0 / 1 / 2 / 3 / 4(接口返回數(shù)據(jù))
  // status: 服務(wù)狀態(tài)碼准浴,2xx開頭表示正確事扭;3xx開頭表示重定向;4xx開頭表示請求錯誤乐横;5xx開頭表示服務(wù)器內(nèi)部操作
  if(http.readyState===4 && http.status === 200) {
    // 獲取服務(wù)器返回的數(shù)據(jù)
    var txt = http.responseText // 固定語法,獲取返回的文本數(shù)據(jù)
    // DOM操作處理數(shù)據(jù)
    // ...
  }
}

(3) 常見請求方式
HTTP1.1規(guī)范中今野,將瀏覽器客戶端跟服務(wù)器之間的請求葡公,區(qū)分8種請求方式:

  • GET:發(fā)送請求,一般向服務(wù)器請求獲取數(shù)據(jù)条霜,參數(shù)拼接在url地址中出現(xiàn)【熟練】
  • POST:發(fā)送請求催什,一般向服務(wù)器請求新增數(shù)據(jù),參數(shù)一般包含在請求體中【熟練】
  • PUT:發(fā)送請求宰睡,一般向服務(wù)器請求更新數(shù)據(jù)蒲凶,參數(shù)一般包含在請求體中【熟悉】
  • DELETE:發(fā)送請求,一般向服務(wù)器請求刪除數(shù)據(jù)拆内,參數(shù)拼接在url地址中出現(xiàn)【熟悉】
  • HEAD:發(fā)送請求旋圆,一般向服務(wù)器請求響應(yīng)頭數(shù)據(jù),經(jīng)常用來測試響應(yīng)數(shù)據(jù)格式【了解】
  • TRACE:發(fā)送請求麸恍,一般給服務(wù)器發(fā)送心跳請求灵巧,測試服務(wù)器是否存活【了解】
  • OPTIONS:發(fā)送請求,一般獲取請求和響應(yīng)配置數(shù)據(jù)【了解】
  • CONNECT:發(fā)送請求抹沪,一般用于保持長連接進行數(shù)據(jù)交互【了解】
    (4) GET/POST請求
    get請求
// 1刻肄、創(chuàng)建對象
var _http = new XMLHttpRequest()
// 2、打開服務(wù)器連接
// 附帶參數(shù):參數(shù)拼接格式一定要正確,?name=tom&age=20&gender=1
_http.open('GET', 'http://www.example.com?name=tom&age=20&gender=1')
// 3融欧、發(fā)送請求
_http.send()
// 4敏弃、處理返回數(shù)據(jù)
_http.onreadystatechange = function() {
  // 判斷數(shù)據(jù)正確返回
  if(_http.readyState === 4 && _http.status === 200) {
    // 獲取服務(wù)器接口數(shù)據(jù)
    var _txt = _http.responseText
    // DOM操作數(shù)據(jù)
    // ...
  }
}

post請求

// 1、創(chuàng)建對象
var _http = new XMLHttpRequest()
// 2噪馏、打開服務(wù)器連接
_http.open('POST', 'https://www.example.com')
// 3麦到、設(shè)置請求頭
_http.setRequestHeader('content-type', 'application/x-www-form-urlencoded')
// 4虹茶、發(fā)送請求
// 附帶參數(shù),以字符串的方式添加參數(shù)
_http.send('username=admin&userpass=123')
// 5隅要、處理響應(yīng)
_http.onreadystatechange = function() {
  // 判斷數(shù)據(jù)是否正確返回
  if(_http.readyState === 4 && _http.status === 200) {
    // 獲取返回的數(shù)據(jù)
    var _txt = _http.responseText
    // DOM操作
    // ...
  }
}
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末蝴罪,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子步清,更是在濱河造成了極大的恐慌要门,老刑警劉巖,帶你破解...
    沈念sama閱讀 206,968評論 6 482
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件廓啊,死亡現(xiàn)場離奇詭異欢搜,居然都是意外死亡,警方通過查閱死者的電腦和手機谴轮,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,601評論 2 382
  • 文/潘曉璐 我一進店門炒瘟,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人第步,你說我怎么就攤上這事疮装。” “怎么了粘都?”我有些...
    開封第一講書人閱讀 153,220評論 0 344
  • 文/不壞的土叔 我叫張陵廓推,是天一觀的道長。 經(jīng)常有香客問我翩隧,道長樊展,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 55,416評論 1 279
  • 正文 為了忘掉前任堆生,我火速辦了婚禮专缠,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘淑仆。我一直安慰自己涝婉,他們只是感情好,可當我...
    茶點故事閱讀 64,425評論 5 374
  • 文/花漫 我一把揭開白布糯景。 她就那樣靜靜地躺著嘁圈,像睡著了一般。 火紅的嫁衣襯著肌膚如雪蟀淮。 梳的紋絲不亂的頭發(fā)上最住,一...
    開封第一講書人閱讀 49,144評論 1 285
  • 那天,我揣著相機與錄音怠惶,去河邊找鬼涨缚。 笑死,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的脓魏。 我是一名探鬼主播兰吟,決...
    沈念sama閱讀 38,432評論 3 401
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼茂翔!你這毒婦竟也來了混蔼?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,088評論 0 261
  • 序言:老撾萬榮一對情侶失蹤珊燎,失蹤者是張志新(化名)和其女友劉穎惭嚣,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體悔政,經(jīng)...
    沈念sama閱讀 43,586評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡晚吞,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,028評論 2 325
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了谋国。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片槽地。...
    茶點故事閱讀 38,137評論 1 334
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖芦瘾,靈堂內(nèi)的尸體忽然破棺而出捌蚊,到底是詐尸還是另有隱情,我是刑警寧澤旅急,帶...
    沈念sama閱讀 33,783評論 4 324
  • 正文 年R本政府宣布逢勾,位于F島的核電站,受9級特大地震影響藐吮,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜逃贝,卻給世界環(huán)境...
    茶點故事閱讀 39,343評論 3 307
  • 文/蒙蒙 一谣辞、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧沐扳,春花似錦泥从、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,333評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至杨拐,卻和暖如春祈餐,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背哄陶。 一陣腳步聲響...
    開封第一講書人閱讀 31,559評論 1 262
  • 我被黑心中介騙來泰國打工帆阳, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人屋吨。 一個月前我還...
    沈念sama閱讀 45,595評論 2 355
  • 正文 我出身青樓蜒谤,卻偏偏與公主長得像山宾,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子鳍徽,可洞房花燭夜當晚...
    茶點故事閱讀 42,901評論 2 345

推薦閱讀更多精彩內(nèi)容