1. 同步和异步是什么?
同步:客服端等待服务器端的响应。
异步:页面直接发布到服务器,直接在页面中实时提醒,整个页面未发生刷新!
2. XMLHttpRequest的作用?
(1)用html和css创建交互界面
(2)XMLHttpRequest和web服务器进行异步数据交换。
(3)用JavaScript的dom进行实时更新。3.http请求的全过程?
定义:计算机通过网络进行通信的规则,无状态的请求服务器的请求。
(1) 建立tcp的连接。
(2) web浏览器向web服务器发送请求命令。
(3) web浏览器 发送请求头信息
(4) web服务器应答
(5) web服务器发送应答头信息
(6) web服务器向浏览器发送数据
(7) web服务器关闭tcp连接
4. Get和post请求区别?
get请求:
一般用于信息获取(查询)
通过url传递参数(对所有人参数可见)
发送信息大小有限制2kb差不多
post请求:
一般是修改服务器的资源(新建和修改,删除)
对发送的信息数量没有限制
5. Ajax请求的全过程:
//建立对象:
var request;
if (window.XMLHttpRequest) {
request = new XMLHttpRequest(); //新建立一个对象,标准模式下IE7+
} else {
request = new ActiveXObject("Microsoft.XMLHTTP"); //IE5 IE6
}
// XMLHttpRequest发送请求:
//open(method, url, async); //方法 请求地址 同步(默认异步true)
//send(string);
request.open("get", "hello.php", true); //异步
request.send();
request.open("post", "hello.php", true); //异步
request.send();
request.open("post", "hello.php", true); //异步
request.send("name=王二&sex=男");
request.onreadystatechange = function() { //对事件进行监听
if (request.readyState == 4 && request.status == 200) { /*响应完成和请求成功*/
//处理事情
}
}
/*readyState属性:
0:请求未初始化,open未调用
1:服务器已经建立,open已经调用
2:请求已接收,接收头文件信息
3:请求已处理,接收到响应主体
4:请求完成,响应已经完成
*/
/*获取取得的响应
responseText()获取字符串形式的响应数据
responseXML()获取XML的响应数据
status/statusText以数字或者是返回http状态码
getResponseHeader()*/<span style="white-space: pre;"> </span>
json ( json在线校验工具jsonLint) 的解析:(1) eval();//不会判断是否json是否合理
(2) JSON.parse();