文章出處
文章列表
關于ajax
ajax是異步的JavaScript和XML,優點是無刷新的與后臺通信并獲取數據,只更改頁面中需要更改的部分,而不是刷新整個頁面,減少無意義的數據傳輸,提高了效率和用戶體驗。
HTTP請求過程
1、建立TCP連接 2、Web瀏覽器向服務器發送請求命令 3、Web瀏覽器發送請求頭信息 4、Web服務器應答 5、Web服務器發送應答頭信息 6、Web服務器想瀏覽器發送數據 7、Web服務器關閉TCP連接
*TCP:Transmission Control Protocol 傳輸控制協議
HTTP請求
GET請求:一般用于信息獲取 使用url傳遞參數 對發送的信息的數量有限制,一般在2000字符 冪等:每次只是GET,沒有修改服務器上的信息 POST請求:一般用于修改服務器上的資源 對發送的信息的數量無限制
與 POST 相比,GET 更簡單也更快,并且在大部分情況下都能用。
然而,在以下情況中,請使用 POST 請求:
- 無法使用緩存文件(更新服務器上的文件或數據庫)
- 向服務器發送大量數據(POST 沒有數據量限制)
- 發送包含未知字符的用戶輸入時,POST 比 GET 更穩定也更可靠
HTTP響應
1、數字和文字組成的狀態嗎,顯示請求是成功還是失敗。客戶端不知道請求的成功 2、響應頭:和請求頭一樣包含服務端的信息,如服務器類型,內容類型和長度 3、響應正文
HTTP狀態碼
1XX:信息類,表示收到Web瀏覽器的請求,處理中; 2XX:成功:表示用戶請求被正確接收,理解和處理 200 OK 3XX: 重定向:表示請求沒有成功,客戶要采取進一步動作 4XX:客戶端錯誤,表示客戶端提交的請求有錯誤。 404 NOTFound,意味著請求中引用的文檔不存在 5XX:服務器錯誤,表示服務器不能完成對請求的處理 500
XMLHttpRequest取得響應
responseText:獲得字符串形式的響應數據 responseXML:獲得XML形式的響應數據 status和statusText:以數字和文本形式返回HTTP狀態碼 getAllResponseHeader():獲取所有的響應報頭 getResponseHeader():獲取響應中某個字段的值
readyState屬性 0:請求未初始化,open還沒有調用 1:服務器連接已建立,open已經調用了 2:請求已接收,接收到頭信息了 3:請求處理中,接收到響應主體了 4:請求已完成,且響應已就緒,響應完成了
例子:
var request = new XMLHttpRequest(); request.open('GET','get.php',true); request.send(); request.onreadyState() = function() { if(request.readyState === 4 && request.status ===200){ //do sth } }
文章列表
全站熱搜