Ajax

Ajax = Asynchronous JavaScript and XML

創(chuàng)建XMLHttpREquest對象

var request = new XMLHttpRequest() //構造函數創(chuàng)建對象

兼容IE的寫法

var request
if(window.XMLHttpRequest){
   request = new XMLHttpRequest() // Firefox, Chrome, IE7+, Opera, Safari 
}else{
  request = new ActiveXObject("Microsoft.XMLHTTP") // IE6, IE5
} 

HTTP傳輸
一個完整的HTTP傳輸過程灰嫉,通常有下面7個步驟:

  1. 建立TCP連接
  2. Web瀏覽器向Web服務器發(fā)送請求命令
  3. Web瀏覽器發(fā)送請求頭信息
  4. Web服務器應答
  5. Web服務器發(fā)送應答頭文件
  6. Web服務器向瀏覽器發(fā)送數據
  7. Web服務器關閉TCP連接

HTTP請求
一個HTTP請求一般由四部分組成:

  1. HTTP請求的方法或動作, GET還是POST
  2. 正在請求的URL, 請求地址
  3. 請求頭, 包含一些客戶端環(huán)境信息, 身份驗證信息等
  4. 請求體,也就是請求正文, 請求正文中可以包含客戶提交的查詢字符串信息, 表單信息等等
請求

GET/POST

GET

  • 一般用于信息獲取
  • 使用URL傳遞參數
  • 對所有發(fā)送信息的數量也有限制, 一般在2000個字符缀遍,直接顯示在瀏覽器地址欄声功,不安全
  • 冪等

POST

  • 一般用于修改服務器上的資源
  • 對所發(fā)送信息數量無限制

HTTP響應
一個HTTP響應一般由三部分組成:

  1. 一個數字和文字組成的狀態(tài)碼, 用來顯示請求是否成功
  2. 響應頭, 響應頭也和請求頭一樣包含許多有用的信息,例如服務器類型、日期時間易遣、內容類型和長度等
  3. 響應體, 也就是響應正文
響應

狀態(tài)碼


狀態(tài)碼

發(fā)送請求
open(method, url, async)
-method: post還是get
-url: 請求地址
-async: true為異步, false為同步

send(string)
string: 主要用于post, 請求內容

request.open("GET", "get.php", true)
request.send()
request.open("POST", "post.php", true)
request.setRequestHeader("Content-type", "application/x-www-form-urlencoded")
request.send("name=Adam&sex=male")

獲取響應
responseText: 獲得字符串形式的響應數據
responseXML: 獲得XML形式的響應數據
status和statusText: 以數字和文本形式返回HTTP狀態(tài)碼
getAllResponseHeader(): 獲取所有的響應報頭
getResponseHeader(): 查詢響應中的某個字段的值

readyState屬性
0: 請求未初始化, open還沒有調用
1: 服務器連接已建立, open已經調用了
2: 請求已接收, 也就是接收到頭信心了
3: 請求處理中, 也就是接收到響應主體了
4: 請求已完成, 且響應已就緒, 也就是響應完成了

其實readyState主要作用就是來監(jiān)聽瀏覽器響應變化,下面舉個例子

var request = new XMLHttpRequest()
request.open("GET", "get.php", true)
request.send()

//當監(jiān)聽到請求完成時嫌佑,我們做一些動作
request.onreadystatechange = function(){
 if(request.readyState === 4 && request.status === 200){
   ...
   request.responseText
 }
}
向login傳參數案例

Nodejs建立服務器

url組成

url組成

API及用法


API
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末豆茫,一起剝皮案震驚了整個濱河市侨歉,隨后出現的幾起案子,更是在濱河造成了極大的恐慌揩魂,老刑警劉巖幽邓,帶你破解...
    沈念sama閱讀 211,042評論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現場離奇詭異火脉,居然都是意外死亡牵舵,警方通過查閱死者的電腦和手機,發(fā)現死者居然都...
    沈念sama閱讀 89,996評論 2 384
  • 文/潘曉璐 我一進店門倦挂,熙熙樓的掌柜王于貴愁眉苦臉地迎上來畸颅,“玉大人,你說我怎么就攤上這事方援∶怀矗” “怎么了?”我有些...
    開封第一講書人閱讀 156,674評論 0 345
  • 文/不壞的土叔 我叫張陵犯戏,是天一觀的道長送火。 經常有香客問我,道長先匪,這世上最難降的妖魔是什么种吸? 我笑而不...
    開封第一講書人閱讀 56,340評論 1 283
  • 正文 為了忘掉前任,我火速辦了婚禮呀非,結果婚禮上坚俗,老公的妹妹穿的比我還像新娘。我一直安慰自己姜钳,他們只是感情好坦冠,可當我...
    茶點故事閱讀 65,404評論 5 384
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著哥桥,像睡著了一般辙浑。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上拟糕,一...
    開封第一講書人閱讀 49,749評論 1 289
  • 那天判呕,我揣著相機與錄音,去河邊找鬼送滞。 笑死侠草,一個胖子當著我的面吹牛,可吹牛的內容都是我干的犁嗅。 我是一名探鬼主播边涕,決...
    沈念sama閱讀 38,902評論 3 405
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了功蜓?” 一聲冷哼從身側響起园爷,我...
    開封第一講書人閱讀 37,662評論 0 266
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎式撼,沒想到半個月后童社,有當地人在樹林里發(fā)現了一具尸體,經...
    沈念sama閱讀 44,110評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡著隆,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 36,451評論 2 325
  • 正文 我和宋清朗相戀三年扰楼,在試婚紗的時候發(fā)現自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片美浦。...
    茶點故事閱讀 38,577評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡弦赖,死狀恐怖,靈堂內的尸體忽然破棺而出抵代,到底是詐尸還是另有隱情腾节,我是刑警寧澤,帶...
    沈念sama閱讀 34,258評論 4 328
  • 正文 年R本政府宣布荤牍,位于F島的核電站,受9級特大地震影響庆冕,放射性物質發(fā)生泄漏康吵。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 39,848評論 3 312
  • 文/蒙蒙 一访递、第九天 我趴在偏房一處隱蔽的房頂上張望晦嵌。 院中可真熱鬧,春花似錦拷姿、人聲如沸惭载。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,726評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽描滔。三九已至,卻和暖如春踪古,著一層夾襖步出監(jiān)牢的瞬間含长,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,952評論 1 264
  • 我被黑心中介騙來泰國打工伏穆, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留拘泞,地道東北人。 一個月前我還...
    沈念sama閱讀 46,271評論 2 360
  • 正文 我出身青樓枕扫,卻偏偏與公主長得像陪腌,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 43,452評論 2 348

推薦閱讀更多精彩內容