Javascript
一般情況下蜂莉,直接使用原生 Javascript 的代碼是通用的蜡娶,所以備個份(部分庫的代碼在某些情況下會產(chǎn)生俺不能理解的錯誤)
// 創(chuàng)建 XMLHttpRequest 對象
var xmlHttpRequestObject = null;
if (window.ActiveXObject) {
xmlHttpRequestObject = new ActiveXObject("Microsoft.XMLHTTP");
} else {
xmlHttpRequestObject = new XMLHttpRequest();
}
var url = "target.html"; // 目標(biāo)路徑
var data = ""; // 傳輸?shù)臄?shù)據(jù)
xmlHttpRequestObject.open("POST" , url , true); // 第三個參數(shù)默認 true 異步 false 同步
xmlHttpRequestObject.setRequestHeader("Content-Type" , "application/x-www-form-urlencoded");
xmlHttpRequestObject.onreadystatechange = function() {
// readyState產(chǎn)生變化時需要運行
if (xmlHttpRequestObject.readyState == 4 && xmlHttpRequestObject) {
var res = xmlHttpRequestObject.responseText;
var jsonObject = eval("("+res+")");
}
}
xmlHttpRequestObject.send(data);
原生JS使用XMLHttpRequest對象進行異步通信,下面為該對象的主要屬性與方法
——屬性:onreadystatechange
在readyState變化時運行的方法
——屬性:readyState
狀態(tài)描述
0 請求未初始化(在調(diào)用 open() 之前)
1 請求已提出(調(diào)用 send() 之前)
2 請求已發(fā)送(這里通秤乘耄可以從響應(yīng)得到內(nèi)容頭部)
3 請求處理中(響應(yīng)中通常有部分數(shù)據(jù)可用窖张,但是服務(wù)器還沒有完成響應(yīng))
4 請求已完成(可以訪問服務(wù)器響應(yīng)并使用它)
——屬性:responseText
由服務(wù)器返回的數(shù)據(jù)
——方法:open(type,url,true/false)
初始化請求:第一個參數(shù)為請求類型,第二個參數(shù)為請求路徑蚁滋,第三個參數(shù)為是否異步傳輸
——方法:send(data)
發(fā)送請求:data為傳輸?shù)臄?shù)據(jù)
——方法:setRequestHeader("header","value");
設(shè)置請求頭宿接,Send之前