1.获取ajax异步对象

    IE4~IE12 : 使用new ActiveXObject("microsoft.xmlhttp");
    非IE : 使用new XMLHttpRequest();
2.ajax.open(method,url);
    method是提交方式  有 get和post两种
    url是提交路径
3.ajax.send()
4.ajax.onreadystatechange 这是一个监听函数
    包括五中状态码:
        0—ajax异步对象创建完毕,但是还未发送
        1—ajax已经调用了open()方法,但是还未调用send()方法
        2—已经调用send(),但是还未到达服务器端
        3—表示请求已经到达服务端,正在服务端的处理,但是还未响应返回
        4—ajax已经完全接收了服务器的响应信息,但是状态码未必是正确的
                状态码有:
                                200:正确
                                404/500:错误
                                        ps:a.每个浏览器的0,1,2,3这四种状态显示的不一样,但是4这个状态码每
                                              个浏览器都有,所以我们只需要使用4即可
                                                b.  0.1.2.3.4是ajax中的响应码,200/404/500是web中的状态码
5.ajax.readyState == 4
6.ajax.status == 200;
7.获取值  ajax.requestText或者ajax.requestXML

例1get:
  1. <script type="text/javascript">
  2. //定位文本框,同时提供焦点失去事件
  3. document.getElementById("usernameID").onblur = function(){
  4. //获取文本框中输入的值
  5. var username = this.value;
  6. //如果用户没有填内容
  7. if(username.length == 0){
  8. //提示
  9. document.getElementById("resID").innerHTML = "用户名必填";
  10. }else{
  11. //对汉字进行UTF-8(U8)的编码
  12. username = encodeURI(username);
  13. //NO1)
  14. var ajax = createAJAX();
  15. //NO2)
  16. var method = "GET";
  17. var url = "${pageContext.request.contextPath}/UserServlet?time="+new Date().getTime()+"&username=" + username;
  18. ajax.open(method,url);
  19. //NO3)
  20. ajax.send(null);
  21. //--------------------------------------------------------等待
  22. //NO4)
  23. ajax.onreadystatechange = function(){
  24. if(ajax.readyState == 4){
  25. if(ajax.status == 200){
  26. //NO5)
  27. var tip = ajax.responseText;
  28. //NO6)
  29. document.getElementById("resID").innerHTML = tip;
  30. }
  31. }
  32. }
  33. }
  34. }
  35. </script>
例2:post
  1. <script type="text/javascript">
  2. document.getElementById("usernameID").onblur = function(){
  3. var username = this.value;//杰克
  4. //NO1)
  5. var ajax = createAJAX();
  6. //NO2)
  7. var method = "POST";
  8. var url = "${pageContext.request.contextPath}/UserServlet?time="+new Date().getTime();
  9. ajax.open(method,url);
  10. //设置AJAX请求头为POST,他会将请求体中的汉字自动进行UTF-8的编码
  11. ajax.setRequestHeader("content-type","application/x-www-form-urlencoded");
  12. //NO3)
  13. var content = "username=" + username;
  14. ajax.send(content);
  15. //===========================================等待
  16. //NO4)
  17. ajax.onreadystatechange = function(){
  18. if(ajax.readyState == 4){
  19. if(ajax.status == 200){
  20. //NO5)
  21. var tip = ajax.responseText;
  22. //NO6)
  23. //创建img标签
  24. var imgElement = document.createElement("img");
  25. //设置img标签的src/width/height的属性值
  26. imgElement.src = tip;
  27. imgElement.style.width = "12px";
  28. imgElement.style.height = "12px";
  29. //定位span标签
  30. var spanElement = document.getElementById("resID");
  31. //清空span标签中的内容
  32. spanElement.innerHTML = "";
  33. //将img标签加入到span标签中
  34. spanElement.appendChild(imgElement);
  35. }
  36. }
  37. }
  38. }
  39. </script>

Ajax实现步骤和原理的更多相关文章

  1. Ajax引擎:ajax请求步骤详细代码

    说起AJAX,可能是很多同学在很多地方都看到过,各大招聘网站上对于WEB前端和PHP程序员的技能要求清单中也是必不可少的一项.但是,ajax请求步骤详细代码以及说明却比较少见到 什么是AJAX引擎? ...

  2. Ajax实例OR技术原理 转自 (http://blog.csdn.net/evankaka )

    摘要:AJAX即“Asynchronous Javascript And XML”(异步JavaScript和XML),是指一种创建交互式网页应用的网页开发技术.AJAX 是一种用于创建快速动态网页的 ...

  3. Ajax操作如何实现跨域请求 (JSONP和CORS实现Ajax跨域的原理)

    由于浏览器存在同源策略机制,同源策略阻止ajax (XMLHttpRequest) 从一个源加载的文档或脚本获取或设置另一个源加载的文档的属性. 特别的:由于同源策略是浏览器的限制,所以请求的发送和响 ...

  4. MHA在线切换的步骤及原理

    在日常工作中,会碰到如下的场景,如mysql数据库升级,主服务器硬件升级等,这个时候就需要将写操作切换到另外一台服务器上,那么如何进行在线切换呢?同时,要求切换过程短,对业务的影响比较小. MHA就提 ...

  5. 实现ajax的步骤

    实现ajax的步骤 1.创建xmlHttprequest对象 function createXmlHttpRequest(){ var xmlHttp; try{ //Firefox, Opera 8 ...

  6. MySQL高可用方案MHA在线切换的步骤及原理

    在日常工作中,会碰到如下的场景,如mysql数据库升级,主服务器硬件升级等,这个时候就需要将写操作切换到另外一台服务器上,那么如何进行在线切换呢?同时,要求切换过程短,对业务的影响比较小. MHA就提 ...

  7. js原生Ajax 的封装和原理

    原理及概念 AJAX即“Asynchronous Javascript And XML”(异步JavaScript和XML),是一种用于创建快速动态网页的技术. 动态网页:是指可以通过服务器语言结合数 ...

  8. ajax ----进度条的原理

    一.进度条的原理 新知识点:Html5中FormData,xmlHttpRequest中的upload属性,progress事件监控 xmlHttpRequest中的upload属性,实现: < ...

  9. jQuery的ajax跨域 Jsonp原理

    1.Jsonp Jsonp(json with padding)是JSON的一种“使用模式”,可用于解决主流浏览器的跨域数据访问的问题. Jsonp是为了解决ajax跨域发送http请求出现的,利用S ...

随机推荐

  1. sqlserver函数大全

    一旦成功地从表中检索出数据,就需要进一步操纵这些数据,以获得有用或有意义的结果.这些要求包括:执行计算与数学运算.转换数据.解析数值.组合值和聚合一个范围内的值等. 下表给出了T-SQL函数的类别和描 ...

  2. tomcat服务器不输出访问日志

    有时候一个WEB服务作为接口部署在tomcat下,因为访问很频繁,导致/var/log/tomcat7下的访问日志急剧膨胀,影响服务器的性能. 在这里我的方法是关闭访问日志,关闭方法为将访问日志的输出 ...

  3. crm plugin 未能加载文件或程序集“xxxx,”或它的某一个依赖项。系统找不到指定的文件。

    plugin运行出错. 1  plugin文件如果是 注册到disk,应该是注册到 C:\Program Files\Microsoft Dynamics CRM\Server\bin\assembl ...

  4. JavaScriptResult用法

    写MVC项目的时候,一开始就遇到返回脚本无法执行的情况,查阅博客园中老鸟的各种文章,最后没有得出个所以然,没办法,找项目经理实地讨论. public JavaScriptResult Hello() ...

  5. 自动以读写方式挂载ntfs-黑苹果之路

    在mac下ntfs分区总是以只读方式挂载,双操作系统,尤其有些时候需要用u盘,需要手工umount再mount,很麻烦,找了一些资料,通过修改/etc/fstab文件无效,要么就是使用第三方软件,不合 ...

  6. js对象4-js原型--杂志

    提问:在js中什么是原型 prototype 每个学js的人都有自己的解释,网上一大堆的解释与应用,但是看了他们的解释表示还是不理解怎么办?(原因是他们说的太天花乱坠了) 官方手册解释:prototy ...

  7. 有关OpenCV1.0中GUI命令的几个函数学习总结

    1.修改窗口背景色或者光标形状 在OpenCV1.0版本利用函数int cvNamedWindow( const char* name, int flags )初始化创建一个窗口后,窗口的背景色是灰色 ...

  8. Filter Blue Light for Better Sleep(APP 推荐)

    Filter Blue Light for Better Sleep By Carolyn Mohr11 May, 2016 Many people like to use their phones ...

  9. 【翻译习作】 Windows Workflow Foundation程序开发-第一章02

    1.2      Windows Workflow概览 微软的Windows Workflow Foundation(简称WF)是.NET框架3.0版的一部分..NET3.0其它主要部分是Window ...

  10. jboss7访问日志功能及使用goaccess工具分析

    网络上虽然很多文章分别讲到jboss7的访问日志如何配置,goaccess工具怎么分析nginx/tomcat等日志.但将两者放在一起即“通过goaccess分析jboss访问日志”的倒是没搜索到. ...