Ajax的特性:
- Ajax局部刷新页面,无需整页更新;
- Ajax=异步JavaScript+XML;
- 对改善用户的体验和性能很大的帮助;
Ajax的用处:
与后台交互,实现动态数据;
Ajax步骤:
第一步:创建XMLhttp Request对象
//首先考虑到浏览器兼容性;因此我们需要判断浏览器兼容问题
if(XMLHttpRequest){
var XHR=new XMLHttpRequest() //该代码适用与IE7以上的浏览器
}else{
var XHR=new ActiveXObject('Microsoft.XMLHTTP') //该代码适用与IE7以下的浏览器
}第二步 :建立请求
//根据后台提供数据要求,进行建立请求。
要求分别有:
- 请求方式: get/post
- 后台服务器地址
- 异步/同步请求 :ture(默认)/flase
get和post的区别:
- get提交方式是以url的方式提交数据,post是以主体body的方式提交,因此get的安全性没有post高;
- 数据大小方面,get提交的数据大小是有限制的(125K),post是无限制的;
- 速率方面,get方面是远超post提交,因此大部分都是以get方式请求;
异步和同步的区别:
- 同步是JS代码加载到当前Ajax的时候,页面里的所有代码停止加载,页面出现假死状态,当Ajax执行完毕后才会继续运行,假死解除;
- 异步是同时进行Ajax代码和JS代码;
//请求方式为get时,书写格式为:
XHR.open('get','http://81.71.8.206/ajax_lx/user_single.php?user_id=1',ture);//?后面为参数,如果有多个参数用&进行间隔;
//请求方式为post时,书写格式为:
XHR.open('get','http://81.71.8.206/ajax_lx/user_single.php',ture);//使用post方式的话,参数在第三步发送请求里传出;第三步: 发送请求
//请求方式为get时,书写格式为:
XHR.send();//请求方式为post时,书写格式为:
XHR.setRequestHeader("Content-Type","application/x-www-form-urlencoded");//定义传输的文件HTTP头信息
XHR.send('user_id=1');//参数第四步 获取执行后返回的数据
XMLHttpRequest.readyState的值及解释:
4:响应已完成;您可以获取并使用服务器的响应了。XMLHttpRequest.status的值及解释:
200——提交成功responseText:必需, 获取一个有效的 JSON 字符串;
JSON.parse:将一个 JSON 字符串转换为JavaScript对象;
XHR.onreadystatechange = function() {
if (XHR.readyState == 4 && request.status == 200) {//判断传出的数据是否有效;
//获取返回数据,用变量装;
var objosn = JSON.parse(XHR.responseText);//将JSON字符串,转为JavaScript对象;
}
}