今天了解了一點關于Ajax的東西雌团,和大家分享一下:
1.AJAX
AJAX 是一種在無需重新加載整個網(wǎng)頁的情況下,能夠更新部分網(wǎng)頁的技術豆拨。
優(yōu)點:在不重新加載整個頁面的情況下痹束,可以與服務器交換數(shù)據(jù)并更新部分網(wǎng)頁內(nèi)容
2.XMLHttpRequest
XMLHttpRequest是AJAX的基礎, 用于在后臺與服務器交換數(shù)據(jù)。
現(xiàn)在所有瀏覽器都內(nèi)建XMLHttpRequest對象仓技。
創(chuàng)建XMLHttpRequest的語法:
xmlhttp= new XMLHttpRequest
3.向服務器發(fā)送請求open()和send()
open(method,url,async) method:get和post async:同步或異步
send(string) 只用于post請求
4.GET 還是 POST鸵贬?
與 POST 相比,GET 更簡單也更快脖捻,并且在大部分情況下都能用阔逼。
然而,在以下情況中地沮,請使用 POST 請求:
1.無法使用緩存文件(更新服務器上的文件或數(shù)據(jù)庫)
2.向服務器發(fā)送大量數(shù)據(jù)(POST 沒有數(shù)據(jù)量限制)
3.發(fā)送包含未知字符的用戶輸入時嗜浮,POST 比 GET 更穩(wěn)定也更可靠
5.服務器響應
responseXML() 獲得XML形式的響應數(shù)據(jù)
responseText() 獲得字符串形式的響應數(shù)據(jù)
6.XMLHttpRequest對象的三個屬性
onreadystatechange:存儲函數(shù)(或函數(shù)名),每當 readyState 屬性 改變時摩疑,就會調(diào)用該函數(shù)
readyState
存有 XMLHttpRequest 的狀態(tài)危融。從 0 到 4 發(fā)生變化。
0: 請求未初始化
1: 服務器連接已建立
2: 請求已接收
3: 請求處理中
4: 請求已完成雷袋,且響應已就緒
status 200:”O(jiān)K“ 404:未找到頁面
在 onreadystatechange 事件中专挪,我們規(guī)定當服務器響應已做好被處理的準備時所執(zhí)行的任務。
當 readyState 等于 4 且狀態(tài)為 200 時,表示響應已就緒
<script>
function createxmlHttp(){
var xmlhttp;
//創(chuàng)建xmlhttp對象
if(window.XMLHttpRequest){
xmlhttp = new XMLHttpRequest(); // IE7+, Firefox, Chrome, Opera, Safari 瀏覽器執(zhí)行代碼
}
else{
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); // IE6, IE5 瀏覽器執(zhí)行代碼
}
}
function createRequest(){
xmlhttp.open('post',url,true); //發(fā)送ajax true(是否異步)
xmlhttp.setRequestHeader("Content-type","application/x-www-form-urlencoded");
xmlhttp.send(data); //get時data為null
}
xmlhttp.onreadystatechange = function(){
if(xmlhttp.readyState==4 && xmlhttp.status==200){
//成功后執(zhí)行
document.getElementById("taxtarea").value = xmlhttp.responseText;
}
}
createRequest();
</script>