原生js中ajax寫法一:
function ajaxys(){
//1、 創建xhr對象
var xhr = new XMLHttpRequest();//XMLHttpRequest()
// 2、打開瀏覽器的連接
xhr.open('get','112.json',true);
// 3、請求發送給服務器,對於get來說send里的參數為空或者null
xhr.send();//或者xhr.send(null)
// 4、判斷服務器的狀態,若准備就緒,就去獲取數據
xhr.onreadystatechange = function(){
if (xhr.readyState == 4) {//證明服務器已經准備就緒
if (xhr.status == 200) {//頁面請求成功
// var txt = xhr.responseText;//表示取出數據
document.getElementById('boxs').innerHTML = xhr.responseText;//表示取出數據,並把數據復制給boxs
}
}
}
}
//當點擊btn按鈕時觸發對ajax的請求
$('#btn').click(function(){
ajaxys();//執行ajax的請求
});
原生js中寫ajax的方法二:(利用回調函數callback)
//先聲明一個異步請求對象
var xmlHttpReg = null;
function ajax() {
if (window.ActiveXObject) {//如果是IE
xmlHttpReg = new ActiveXObject("Microsoft.XMLHTTP");
} else if (window.XMLHttpRequest) {
xmlHttpReg = new XMLHttpRequest(); //實例化一個xmlHttpReg
}
//如果實例化成功,就調用open()方法,就開始准備向服務器發送請求
if (xmlHttpReg != null) {
xmlHttpReg.open("get", "checknumber.php?type="+gametype+"&round="+gameroundno, true);
xmlHttpReg.send();
xmlHttpReg.onreadystatechange = doResult; //設置回調函數
}
}
//設定函數doResult(),便於調用
function doResult() {
if (xmlHttpReg.readyState == 4 && xmlHttpReg.status == 200) {//4代表執行完成
document.getElementById("content").innerHTML = xmlHttpReg.responseText;
}
}
原生的js的ajax寫法主要有三點:
1、創建異步請求對象 : 異步請求對象要兼顧IE和標准的瀏覽器
3、狀態與響應