一、AJAX简介(本文的例子都使用的是原生的ajax)
老技术新用法
二、异步和同步区别
三、XMLHttpRequest对象(面试题)
属性:
readyState:
0:未初始化
1:open方法已经调用了
2:send方法已经调用了
3:接收到了响应消息头,但没有接收到正文
4:接收到了响应正文。响应结束
responseText:只读的。返回的是String
作用:接收服务器返回的文本类型的正文数据。
responseXML:只读的。返回的是Document对象(JS中文档模型)
作用:接收服务器返回的XML类型的正文数据。
status:只读的。返回的是short
作用:接收服务器返回的响应状态码
statusText:只读的。返回的是String
作用:接收服务器返回的响应吗描述
方法:
l open(String method,String url,boolean async):建立与服务器的链接。
method:请求方式。GET|POST
url:请求的服务器地址。
async:是否是异步。true是异步的。默认就是true。
l send(String data):发出请求。data参数是请求正文的内容数据。
l setRequestHeader(String headerName,String headerValue):设置请求消息头。
l getAllResponseHeaders():返回所有的响应消息头。是一个String字符串。
l getResponseHeader(headerName):返回指定头的值。是一个String字符串。
事件处理器:onreadystatechange:执向一个函数。XMLHttpRequest对象的readyState的每次变化都会触发onreadystatechange指向的事件处理器。
四、GET和POST请求的发送
五、服务器端返回的数据类型:
XML: 返回的是xml对象
JSON:返回的是文本类型,需要转换
编码步骤:
1 function getXHR() { 2 var xmlHttp; 3 4 try { 5 // Firefox, Opera 8.0+, Safari 6 xmlHttp = new XMLHttpRequest(); 7 } catch (e) { 8 9 // Internet Explorer 10 try { 11 xmlHttp = new ActiveXObject("Msxml2.XMLHTTP"); 12 } catch (e) { 13 14 try { 15 xmlHttp = new ActiveXObject("Microsoft.XMLHTTP"); 16 } catch (e) { 17 alert("您的浏览器不支持AJAX!"); 18 return false; 19 } 20 } 21 } 22 return xmlHttp; 23 }