1.1.1  Ajax的由来:

  如下注册界面

  

   界面在注册的时候,需要用户输入的信息有很多,假如我们将所有的数据都录入后,在点击会员注册按钮,然后将整个页面数据进行提交,此时如果该用户名已经被占用,那么我们就需要用户重新进行输入,这时候就会造成极差的用户体验,此时应该有一个正确的需求:

  •   输入完用户名后,直接在用户名后边完成是否重复,是否可用的验证
  •        在验证用户名是否可用的同时,又不能影响我后续数据的输入

  此时,可以想象到,传统的servlet已经无法解决我们的需求,需要一个新的技术来解决这个问题-------AJAX.

  也就是说从此处,我们可以基本总结出一些

  1.2.1  ajax的基本特点:

      1.  局部刷新,不用刷新整个页面,所以数据量小,
      2. 异步请求

      此时,再加上一点就是,自动发送请求,同样是使用HTTP协议进行数据传输

  1.3.1 企业为什么特别喜欢ajax?

    数据量小,请求和响应速度快,用户体验好

    钱。企业的通信费用,是按照流量计算,那么数据量越小,越省钱。

  

  AJAX的运行原理图:

  

  

  1.3.1  快速入门

    API文档:参W3CSCHOOL

    

    

    获取XMLHttpRequest对象(ajax核心对象,ajax引擎

     代码演示:

      <script type="text/javascript">

        //获取ajax核心对象的方法

        function getXHR() {

          var xmlhttp;

          if (window.XMLHttpRequest) {

            // code for IE7+, Firefox, Chrome, Opera, Safari

            xmlhttp = new XMLHttpRequest();

          } else {

            // code for IE6, IE5

            xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");

          }

          return xmlhttp;

        }

        alert(getXHR());

      </script>

    向服务器发送请求——使用open方法和send方法

      发送请求代码测试:

      //测试使用ajax核心对象,发送请求

      function test1(){

        var xhr = getXHR();

        xhr.open("get","/day18/ajax?username=张三",true);

        xhr.send();

      }

      test1();

  

  获取响应

      //测试设置ajax等待服务器响应

      function test3(){

        //获取核心对象

        var xhr = getXHR();

        //设置等待服务器响应

        xhr.onreadystatechange=function(){

        //4: 请求已完成,且响应已就绪,200: "OK"

        if (xhr.readyState==4 && xhr.status==200){

           var data=xhr.responseText;

            alert(data);

         }

        }

      //发送请求

      xhr.open("get","/day18/ajax?username=张三",true);

      xhr.send();

     }

      test3();

局部刷新Ajax的更多相关文章

  1. jquery 实现页面局部刷新ajax做法

    这个方法就多了去了,常见的有以下几种:下面介绍全页面刷新方法:有时候可能会用到 window.location.reload()刷新当前页面. parent.location.reload()刷新父亲 ...

  2. javaweb局部刷新-ajax异步请求springMVC显示返回的jsp内容,代替iframe

    在jsp上要引入jquery <script src="<%=request.getContextPath()%>/js/jquery_ui/jquery.js" ...

  3. Ajax 异步局部刷新

    Ajax 异步局部刷新 AJAX 是一种在无需重新加载整个网页的情况下,能够更新部分网页的技术. 通过在后台与服务器进行少量数据交换,AJAX 可以使网页实现异步更新.这意味着可以在不重新加载整个网页 ...

  4. (22)Ajax的基本使用(实现登录功能和局部刷新以及防止跨站请求伪造攻击)

    Ajax的作用 前后端分离的项目,需要交互,就要通过Ajax来完成交互 AJAX(Asynchronous Javascript And XML)翻译成中文就是“异步Javascript和XML”.即 ...

  5. ajax+php+mysql 实现点赞、局部刷新,每个IP只能对一篇文章点赞一次

    主要流程: 点赞—>判断当前设备IP是否对当前文章有过点赞记录—>若有记录,弹出提示“已经赞过了”; 若无记录,当前文章点赞数+1,并在记录设备IP点赞记录的表中插入信息. 文章表 art ...

  6. ajax局部刷新

    //5秒刷新一次 $(function () { setInterval(Refresh, 5000); }); //ajax局部刷新 function Refresh() { $.ajax({ ty ...

  7. asp.net mvc3 利用Ajax实现局部刷新

    1.利用Ajax.ActionLink()方法 首先在_Layout.cshtml文件中加载 运行AJAX必要的Jquery <script src="@Url.Content(&qu ...

  8. pushState()、popstate事件配合ajax实现浏览器前进后退页面局部刷新

    最近研究pushState,看了网上的文章还是不怎么会用,于是自己摸索着理解使用,终于实现局部刷新同时前进后退. 首先说说pushState(),这个函数将当前的url等信息加入history堆栈中: ...

  9. php Ajax 局部刷新

    php Ajax 局部刷新: HTML部分 </head> <body> <h1>Ajax动态显示时间</h1> <input type=&quo ...

随机推荐

  1. 201521123045java课程设计---定时器

    #课程设计--定时器(201521123045 郑子熙) 1.团队课程设计博客链接 http://www.cnblogs.com/chendajia/p/7065730.html 2.个人负责模块或任 ...

  2. PHP连接数据_insert_id介绍

    对于自增长的主键列不好取值的情况,php提供了一个变量来取值,insert_id $db = new MySQLi("localhost","root",&qu ...

  3. POJ--3172 Scales (DFS 大容量背包 C++)

    Scales Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 3148   Accepted: 851 Description ...

  4. 常用Java API(转)

    一. java.io.BufferedReader类(用于从文件中读入一段字符:所属套件:java.io) 1. 构造函数BufferedReader(java.io.FileReader FileR ...

  5. Java通过链表实现栈

    class LinkedStack<T> { private Node top; private int size; /** * 初始化栈 */ public LinkedStack() ...

  6. Unity Destory

    Object.Destroy     public static function Destroy(obj: Object, t: float = 0.0F): void; public static ...

  7. 阿里云服务器解决mysql远程连接失败问题

    嗯,自己买了个阿里云的学生机服务器,奈何装了mysql以后一直不能连接,也是够笨的. 记录一下自己遇到的问题. 当然了,首先需要在阿里云安全组开放3306端口,第一次玩儿云服务器差点把我搞坏了.... ...

  8. servlet文件上传2——复合表单提交(数据获取和文件上传)

    上传文件时表单enctype属性必须要更改为<enctype='multipart/form-data'>:采用post提交表单,元素需要有name属性: 利用第三方jar包(common ...

  9. Java 数组扩容

    在添加数据到达数组的上限的时候数组进行扩容: public void resizeArrayCaptcity(){ if(size>=arr.length){ Emp [] arr2=new   ...

  10. PHP中public、protected、private权限修饰符

    PHP中有三种访问修饰符 默认是public public(公共的.默认) protected(受保护的) private(私有的) 访问权限 public protected private 类内 ...