浅谈ajax
一、什么是ajax?
AJAX(Asynchronous Javascript And XML)譯為異步的JavaScript和XML。通過XMLHttpRequest創建對象,向服務器發送異步請求,從服務器獲取數據,然后用js操作DOM從而更新頁面。其中最關鍵的一步就是從服務器獲取請求數據。
二、ajax的請求步驟
1 //創建異步對象 2 var xhr = new XMLHttpRequest(); 3 4 //確定發送請求的方式、地址和是否異步(true表示異步),get請求的參數寫在地址后面,格式為test.php?id=1&name=zat 5 xhr.open('get', 'test.php', true); 6 7 //發送post請求 8 //xhr.open('post', 'test.php', 'true'); 9 //xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded'); 10 11 //發送請求 12 xhr.send(); 13 14 //發送post請求,帶有參數 15 //xhr.send('name=zat&age=18'); 16 17 //檢測服務器是否把數據返回 18 xhr.onreadystatechange = function(){ 19 if(xhr.readyState == 4){ 20 if(xhr.status == 200){ 21 alert(xhr.responseText); 22 }else{ 23 alert('出錯了,err :' + xhr.status); 24 } 25 } 26 }三、ajax的5種工作狀態
readyState:
0(未初始化)對象已經創建,但是尚未初始化,還沒調用open方法。
1(初始化)對象已經初始化,并且調用open方法,但還未調用send方法。
2(發送數據)調用send方法,但是正在等待狀態碼和頭的返回。
3(正在接收)已經接收部分數據,因為響應和http頭不完整,所以還不能使用該對象的屬性和方法。
4(完成)數據接收完成,此時可以通過responseText和responseXML獲取完整的響應數據。
四、http狀態碼
http狀態碼由三位數構成,首位數字定義了狀態碼的類型。
1xx:信息類,web請求正在進一步處理;
2xx:200表示返回成功;
3xx:304表示已經緩存請求;
4xx:404表示訪問的頁面不存在;
5xx:表示服務器錯誤。
五、ajax優缺點
(1)ajax優點
(2)ajax缺點
- ajax技術如同對企業數據建立了一個直接通道,這使開發者在不經意間會暴露比之前更多的數據和服務器邏輯;
- ajax的邏輯可以對客戶端的安全掃描技術隱藏起來,允許黑客從遠端服務器上建立新的攻擊;
- ajax也難以避免一些已知的安全弱點,諸如SQL注入攻擊等。
六、傳輸的數據是明文還是暗文?
ajax的get和post方式請求數據都是明文。
?
轉載于:https://www.cnblogs.com/sup9278/p/6085541.html
總結
- 上一篇: 开发加速使用maven国内源,感谢阿里技
- 下一篇: linux touch 学习