//ajax的优势就是无刷新从服务器取数据
//ajax状态有5个值
0:请求未初始化
1:服务器连接已建立
2:请求已接收
3:请求处理中
4:请求已完成,且响应已就绪
----------------------------------------
//http状态码
(status>=200&&<300)是成功
status=304是代表没有修改,也是成功
status=200对应"OK"
status=404代表未找到页面
----------------------------------------
//第一步=》首先创建一个ajax对象
var oAjax=new XMLHttpRequest();//不兼容ie6
var oAjax=new ActiveXObject('Microsoft.XMLHTTP');//兼容ie6、7、8
//以下是创建ajax的兼容写法
if(window.XMLHTTPRequest){
var oAjax=new XMLHTTPRequwst();
}else{
var oAjax=new ActiveXObject('Microsoft.XMLHTTP');
}
------------------------------------------------------------
//第二部=》接下来是打开连接
oAjax.open('交互方式','url',是否异步);//第三个值为true/false;
//交互方式有两种GET/POST;
//get交互与post交互的区别:
//get是明文提交不安全,数据大小最大32KB,速度快,有缓存
//post密文提交,相对安全,数据大小最大1GB,速度慢,没有缓存
//get交互打开方式
oAjax.open('get','url',true);//url里面包括请求数据(url?a=12&b=5);
//post交互方式
oAjax.open('post','url',true);//url里面不包括请求数据(url)
----------
//第三部=》发送请求
//get交互发送请求方式:
oAjax.send();
//post交互请求方式;
//设置请求头部,只有post交互需要
oAjax.setRequestHearder('Content-Type','application/x-www-form-urlencoded');
oAjax.send('数据(a=5&b=12)');//post交互需要将?后面的数据发送过去
//第四部=》接收相应
oAjax.onreadystatechange=function(){
//判断ajax的状态是否为4
if(oAjax.readystate==4){
//判断http状态吗是否成功
if(oAjax.status>=200&&oAjax<300||oAjax.status==304){
//成功
oAjax.responseText;//响应文本,就是请求成功服务器返回字符串形式的数据
//如果要服务器响应的是XML,并且需要对XML进行解析,则用responseXML,详细解析见w3cSchool;
}else{
//失败
}
}
}
ajax交互(GET/POST)原生代码
最新推荐文章于 2021-08-06 07:37:54 发布