JS Ajax总结

js 雷运
文章标签: Ajax

Ajax的特性:

  1. Ajax局部刷新页面,无需整页更新;
  2. Ajax=异步JavaScript+XML;
  3. 对改善用户的体验和性能很大的帮助;

Ajax的用处:

与后台交互,实现动态数据;

Ajax步骤:

第一步:创建XMLhttp Request对象

//首先考虑到浏览器兼容性;因此我们需要判断浏览器兼容问题

if(XMLHttpRequest){
  var XHR=new XMLHttpRequest()   //该代码适用与IE7以上的浏览器
}else{
  var XHR=new ActiveXObject('Microsoft.XMLHTTP') //该代码适用与IE7以下的浏览器
}


第二步 :建立请求

//根据后台提供数据要求,进行建立请求。

要求分别有:

  1. 请求方式: get/post    
  2. 后台服务器地址
  3. 异步/同步请求 :ture(默认)/flase

get和post的区别:

  1. get提交方式是以url的方式提交数据,post是以主体body的方式提交,因此get的安全性没有post高;
  2. 数据大小方面,get提交的数据大小是有限制的(125K),post是无限制的;
  3. 速率方面,get方面是远超post提交,因此大部分都是以get方式请求

异步和同步的区别:

  1. 同步是JS代码加载到当前Ajax的时候,页面里的所有代码停止加载,页面出现假死状态,当Ajax执行完毕后才会继续运行,假死解除;
  2. 异步是同时进行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对象;
      }
}

还能输出{{restrictNumber}}个字符  
  • {{reply.author}}

    {{CommonUtil.formateDate(reply.ac_CommentDate).shortTime}}
  • 回复了{{Comments.author}} :