AJAX請求數據步驟是什麼?傳輸的數據是用的暗文仍是明文?
var xhr=new XMLHTTPRequest();//建立一個異步對象
xhr.open("get","/add",true);//三個參數分別表示:1.發送ajax請求的方式 2.ajax請求的路徑 3.是否異步
/*
如果post請求則須要額外設置響應頭信息
xhr.open("post","/add",true);
xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
*/
xhr.setRequestHeader("If-Modified-Since","0");//設置瀏覽器不使用緩存
//這個回調函數主要用來檢測服務器是否把數據返回給異步對象
xhr.onreadystatechange = function () {
if (xhr.readystate == 4) {
/*
readyState 屬 性 指 出 了 XMLHttpRequest 對 象 在 發 送 或接 收 數 據 過 程 中 所 處 的 幾 個 狀 態 。
XMLHttpRequest 對象會經歷 5 種不一樣的狀態。
0:未初始化。對象已經建立,但還未初始化,即還沒調用 open 方法;
1:已打開。對象已經建立並初始化,但還未調用 send 方法;
2:已發送。已經調用 send 方法,但該對象正在等待狀態碼和頭的返回;
3:正在接收。已經接收了部分數據,但還不能使用該對象的屬性和方法,由於狀態和響應頭不完整;
4:已加載。全部數據接收完畢
*/
if(xhr.status==200){ //檢測服務器返回的響應報文的狀態碼是否爲 200
alert(xhr.responseText);//服務器返回的 Response 數據
//解析服務器返回的 json 格式的數據
var s=xhr.responseText;
var json=eval("("+s+")");
alert(json.data);
}
};
};
xhr.send(null);//異步對象發送請求
//xhr.send("txtName=roger&txtPwd=123"); 以 post 方式發送數據