1.建立xmlhttprequest物件
2.get請求
js**
function
get()else
} } req.send(null
);
} }
3.post請求
js**
function
post()else
} } }
}
post請求需要設定請求頭
4. readystate與status:
readystate有五種狀態:
0 (未初始化): (xmlhttprequest)物件已經建立,但還沒有呼叫open()方法;
1 (載入):已經呼叫open() 方法,但尚未傳送請求;
2 (載入完成): 請求已經傳送完成;
3 (互動):可以接收到部分響應資料;
4 (完成):已經接收到了全部資料,並且連線已經關閉。
如此一來,你應該就能明白readystate的功能,而status實際是一種輔狀態判斷,只是status更多是伺服器方的狀態判斷。關於status,由於它的狀態有幾十種,我只列出平時常用的幾種:
100——客戶必須繼續發出請求
101——客戶要求伺服器根據請求轉換http協議版本
200——成功
201——提示知道新檔案的url
300——請求的資源可在多處得到
301——刪除請求資料
404——沒有發現檔案、查詢或url
500——伺服器產生內部錯誤
其實就是利用各瀏覽器對轉義字元"\v"的理解
在ie瀏覽器中,"\v"沒有轉義,得到的結果為"v"
而在其他瀏覽器中"\v"表示乙個垂直製表符(一定程度上相當於空格)
所以ie解析的"\v1" 為 "v1"
而其他瀏覽器解析到 "\v1" 為 "1"
在前面加上乙個"+"是為了把後面的字串轉變成數字
由於ie認為"\v1"為"v1",所以前面的加上加號無法轉變成數字,為nan
其他瀏覽器均能變成 1
再因為js與c語言類似,進行邏輯判斷時可使用數字,並且 0 為 false,其他數字則為true
所以 !1 = false ,於是其他瀏覽器均返回false
js在遇到如下幾個值會返回false:undefined、null、nan,所以ie中 !nan = true
\v1能識別出所有的ie嗎,或者說ie都有這個bug嗎?有待補充
原生ajax解析 封裝原生ajax函式
前沿 對於此篇隨筆,完是簡要寫了幾個重要的地方,具體實現細節完在提供的原始碼做了筆記 一 ajax基本要點介紹 更好的介紹ajax 1.ajax物件中new xmlhttprequest 屬性和方法列表 2.常用事件介紹 事件觸發時機 onreadystatechange 當readystate的值...
CSCOPE用法簡略筆記
bin sh find name h o name c o name cc cscope.files cscope bkq i cscope.files my usage cscope q d i cscope.files f cscope.out d do not update the datab...
原生ajax 書寫
1.建立xmlhttprequest物件 post請求需要設定請求頭readystate與status readystate有五種狀態 0 未初始化 xmlhttprequest 物件已經建立,但還沒有呼叫open 方法 1 載入 已經呼叫open 方法,但尚未傳送請求 2 載入完成 請求已經傳送完...