ajax 要注意的问题
- 请求服务器文件与后缀名无关
- 缓存 (同一个地址只能请求一次) a.txt?t=Math.random()
- 从服务器返回来的都是字符串
ajax 与服务器的交互流程
通信状态
- 0 XMLHttpRequest 对象初始化
- 1 载入完成, 开始发送请求
- 2 发送请求完成
- 3 开始解析, 读取服务器的响应
- 4 完成, 对象读取服务器响应结束
function ajax(url, fnSuc, fnErr) {
// 创建一个 ajax 对象
if(window.XMLHttpRequest) {
var oAjax = new XMLHttpRequest()
} else {
// ie6
var oAjax = new ActiveXObject('Microsoft.XMLHTTP')
}
// 创建连接 请求地址 请求方式 是否异步
oAjax.open('a.txt', url+'?t='+Math.random(), true )
// 发送请求
oAjax.send()
// 接受
oAjax.onreadystatechange = function() {
// 判断通信状态
if(oAjax.readyState === 4) {
if(oAjax.status === 200 || oAjax.status === 304) {
// 服务器返回文本
fnSuc(oAjax.responseText)
} else {
fnErr(oAjax.status)
}
}
}
}
网友评论