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 方式发送数据
ajax 中 get 和 post 方式请求数据都是明文的。