可扩展的标记语言(标签都是自己扩展的) 利用自己扩展的有规则的标记来存储相关数据
在js中写:
主流方式: var xhr =new XMLHttpRequest(); var xhr = new ActiveXObject();
核心是三步,下面的第三步是获取内容是需要写,可以不写
//ajax发起请求 function f1(){ //1.创建ajax对象 var xhr = new XMLHttpRequest();//IE6及以下不兼容 //2.创建一个新的http请求(打开浏览器,输入请求地址) //xhr.open(请求方式get/post,请求地址,[异步同步请求(false同步,true异步)]); xhr.open("get",'./try.php'); //3.给 xhr.onreadystatechange 这个事件绑定一个方法,监听状态的变化(只要状态改变就触发执行) xhr.onreadystatechange = function (){ if(xhr.readyState === 4 && /^2\d{2}$/.text(xhr.status)){ var val =xhr.responseText; } } //4.发送请求 //xhr.send(post请求 数据 / get请求 null);参数是请求主体中传递给服务器的内容 xhr.send(null); }1.xhr.readyState: //0:UNSET 当前请求还没有被发送 //1:OPENED URL地址已经打开 //2:HEADERS_RECEIVED 响应头信息已经接收 //3:LOADING 主要返回的内容正在服务器端进行准备处理 //4:DONE 响应主体的内容已经成功返回到客户端 2.xhr.status :HTTP网络状态码,描述了服务器响应内容的状态 //200 OR ^2\d{2} 200或者以2开头的三位数 – >代表响应主体内容成功返回 //301 : 永久重定向/永久转移 //302 : 临时重定向/临时转移 //304 : 本次获取的内容是读取缓存中的数据
//400 : 客户端传递给服务端的参数出现错误 //401 : 无权访问 //404 : 客户访问的地址不存在 //500 : 未知的服务器错误 //503 : 服务器已经超负荷
使用get请求,一般都使用“URL问号传参的方式” xhr.open(“get”,"./xxx?");
POST : 一般应用于向服务器推送数据使用post请求,一般都使用“请求主体的方式” xhr.open(“post”,"./xxx");
PUT : 一般应用于给服务器上增加资源文件DELETE : 一般应用于从服务器上删除资源文件HEAD :一般应用于只获取服务器的响应头信息获取服务器时间需要在2的时候
GET请求传递给服务器的内容存在大小的限制,而POST理论上没有限制
缓存的问题GET请求会出现缓存(这个缓存不一定是304),POST是没有缓存的。 项目中GET请求一般不会让其出现缓存,“清除缓存”:在URL的末尾追加一个随机数 xhr.open(“get”,"./xxx?num=12&_=" + Math.random());
安全问题一般来说GET不安全,而POST相对安全一些
