第一天 xhr.readystate 获得当前响应状态,当状态为4时,代表响应完成 xhr.status 获得服务器返回的响应状态码,为200代表服务器正常响应 onreadystatechange XMLHttpRequest() 创建请求对象 xhr.open(,) 请求行 xhr.send() 发送请求 xhr.setRequestHeader('Content-type', "application/x-www-form-urlencoded"); 请求头 xhr.setRequestHeader('Content-Type', 'text/html'); xhr.onload 监听响应事件 Ie8及之前的浏览器不支持 这个有兼容性 onreadystatechange 监听响应事件 所有浏览器都支持 但是回得到三次响应 xhr.responseText 获得响应正文 xhr.respondsXML 获得响应正文 要是服务端返回的是XML数据要用这个方式获取 作判断 if(xhr.readyState == 4 && xhr.statues == 200){ //如果状态码为4才拿响应体 alert(xhr.responseText); xhr.status:拿到服务器响应状态 readyState:拿到浏览器的响应状态码 ajax发起请求的5种状态 0 请求未初始化 1 服务器连接已建立 2 请求接收中 3 请求处理中 4 请求已完成,且响应已就绪 JSON.parse(JSON字符串) 把JSON字符串转换为JS的数组或对象 如果JSON字符串最外层的是{},会得到对象类型,如果JSON最外层的是[],会得到数组类型 JSON.stringify(JS数组或对象) 把JS的数据转换为JSON字符串 json_encode() 转成JSON字符串,把PHP数据转换成JSON字符串 JSON 兼容问题 引入json.js第三方库 IE7及之前不支持 if:ie "<!--[if lte IE 7]> <script src=""json2.js""></script> <![endif]-->" lt 小于 gt 大于 gte 大于等于 lte 小于等于 ActiveXObject('Microsoft.XMLHTTP'); XMLHttpRequest的兼容方法,IE5,6不支持 xhr.setRequestHeader('Content-type', "application/x-www-form-urlencoded"); 请求头 header('Access-Control-Allow-Origin: *') 跨域访问解决方案 template(,) "参数1:模板id,代表用哪个模板 参数2:传入数据,代表用什么数据填充模板" .serialize() 把这个表单内的所有带name的表单元素拼接成要请求的参数字符串 key1=value1&key2=value2的形式 URL.createObjectURL(this.files[0]); 拿到上传的文件,转成url contentType:false 让JQ不再生成请求头 location.reload() 方法用于重新加载当前文档 success loadData() 刷新当前页 .substr(,) " //参数1:从下标几开始截取//参数2:截取多少个长度"