JavaEE的ajax入门

代码下载

链接:https://pan.baidu.com/s/1pb_sdSmV9Ncs6UIz3q2ztg

提取码:fgx6

复制这段内容后打开百度网盘手机App,操作更方便哦

1. ajax简介

ajax是Asynchronous Javascript And XML,即异步js+xml。

它是一个原有技术的集成,包括:

  • css
  • xhtml
  • dom
  • XmlHttpRequest
  • js

ajax原理

  1. 通过XmlHttpRequest对象向服务器发送异步请求(核心),得到响应数据。
  2. 再用JavaScript操作DOM从而更新页面。

XmlHttpRequest

这个一种支持异步请求的技术,发送请求而不会阻塞用户行为,达到无需全页刷新的效果。

  • 常用XmlHttpRequest的对象属性

    属性 描述
    onreadystatechange 每次状态改变所触发事件的事件处理程序
    status 从服务器返回的数字代码,404(未找到)和200(已就绪)
    responseText 从服务器进程返回数据的字符串形式
    responseXML 从服务器进程返回的DOM兼容的文档数据对象
    status Text 伴随状态码的字符串信息
    readyState 0未初始化,1初始化,2发送数据,3数据传送,4完成
    status 从服务器返回的数字代码,比如常见的404(未找到)和200(已就绪)

ajax作用

以往改变页面上的数据显示,需要刷新整个页面,需要对所有资源更新。而我们实际上只需要少量资源的更新,这样就造成了资源的浪费。Ajax可以解决这个问题,其通过后台与服务器进行少量的数据交换,可以只更新指定部分的页面。

ajax优点

  • 异步机制。能够快速响应用户动作
  • 不需要插件,只要js支持

ajax缺点

  • 浏览器将无法使用后退和收藏功能

    浏览器的后退访问的是历史记录,而ajax并没有改变页面地址。

    在html5下,已经有了解决方案。不过稍显麻烦。

2.ajaxQuickStart

标准流程

创建对象>发送请求>获取响应数据

  1. 创建XmlHttpRequest对象

    • 这段代码是每次使用都是一样的,复制黏贴即可

      function createXmlHttpRequest() {
      var xmlHttp;
      try { // Firefox, Opera 8.0+, Safari
      xmlHttp = new XMLHttpRequest();
      } catch (e) {
      try {// Internet Explorer
      xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
      } catch (e) {
      try {
      xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
      } catch (e) {
      }
      }
      }
      return xmlHttp;
      }
  2. 使用get发送接受

    • 得到XmlHttpRequest对象

      var request = createXmlHttpRequest();
    • 发送请求

      //参数介绍
      //参数1:请求类型 GET POST
      //参数2:请求路径,可以用相对路径(相对调用的jsp页面的地址)
      //参数3:是否异步,true:异步 false:同步
      //这个是不带数据的
      request.open("GET", "DemoServlet01", true);
      //这个是带数据的
      request.open("GET", "DemoServlet01?name=zhangsan", true);
      //上面像是封装好了,这一步是执行
      request.send();
    • 获取响应数据

      //相当于设置了一个监听器
      request.onreadystatechange = function () {
      //请求完成并且服务器成功响应
      if (request.readyState == 4 && request.status == 200) {
      //request.responseText就是获取服务器相应的数据
      alert(request.responseText);
      }
      };
      request.send();
  3. 使用post方式发送/接受

    • 得到XmlHttpRequest对象

      var request = createXmlHttpRequest();
    • 发送请求

      //2.发送请求,把第一个参数改为post,传的还是原来的servlet,servlet编写还是和原来一样
      request.open("POST", "DemoServlet01", true);
      //设置一个请求头,表明发送一个经过post编码的请求
      request.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
      //发送的参数
      request.send("name=kk凯凯&age=99");
    • 接受请求

      //和上面一样,设置一个监听器
      request.onreadystatechange = function () {
      if (request.readyState === 4 && request.status === 200) {
      alert("post"+ request.responseText);
      }
      };

JavaEE的ajax入门的更多相关文章

  1. 掌握 Ajax,第 1 部分: Ajax 入门简介

    转:http://www.ibm.com/developerworks/cn/xml/wa-ajaxintro1.html 掌握 Ajax,第 1 部分: Ajax 入门简介 理解 Ajax 及其工作 ...

  2. AJAX入门---DOM操作HTML

    AJAX入门---DOM操作HTML 一边学习AJAX一边坐着总结加深印象.上次写的是怎样简单的使用XMLHttpRequest对象.今天写的是DOM(文档对象模型(Document Object M ...

  3. ajax入门之建立XHR对象 (1)

    ajax入门之建立XHR对象 今天帮朋友写了一个简单的ajax的demo,发现了一些东西,决定写一篇文章记录一下,避免以后挖坑. 创建XMLHttpRequest 通常 function create ...

  4. ASP.NET AJAX入门系列(4):使用UpdatePanel控件(一)

    UpdatePanel可以用来创建丰富的局部更新Web应用程序,它是ASP.NET 2.0 AJAX Extensions中很重要的一个控件,其强大之处在于不用编写任何客户端脚本,只要在一个页面上添加 ...

  5. ASP.NET AJAX入门系列(1):概述

    经常关注我的Blog的朋友可能注意到了,在我Blog的左边系列文章中,已经移除了对Atlas学习手记系列文章的推荐,因为随着ASP.NET AJAX 1.0 Beta版的发布,它们已经不再适用,为了不 ...

  6. ASP.NET AJAX入门系列

    ASP.NET AJAX入门系列将会写关于ASP.NET AJAX一些控件的使用方法以及基础知识,其中部分文章为原创,也有一些文章是直接翻译自官方文档,本部分内容会不断更新. 目录 ASP.NET A ...

  7. 系列文章--ASP.NET之AJAX入门教程

    ASP.NET AJAX入门系列将会写关于ASP.NET AJAX一些控件的使用方法以及基础知识,其中部分文章为原创,也有一些文章是直接翻译自官方文档,本部分内容会不断更新. 目录 ASP.NET A ...

  8. Ajax入门(二)Ajax函数封装

    如果看了的我上一篇博客<Ajax入门(一)从0开始到一次成功的GET请求>的话,肯定知道我们已经完成了一个简单的get请求函数了.如下: 1234567891011121314151617 ...

  9. AJAX入门---点滴的积累

    AJAX入门---点滴的积累 每次学习完一个内容总会写上几句话总结一下学习的内容.这不刚看完王兴魁老师讲的AJAX核心技术.如今回想梳理一下. 这套视频的内容不多,简单的解说了XMLHttpReque ...

随机推荐

  1. Linux磁盘管理系列 — 磁盘配额管理

    一.磁盘管理的概念 Linux系统是多用户任务操作系统,在使用系统时,会出现多用户共同使用一个磁盘的情况,如果其中少数几个用户占用了大量的磁盘空间,势必压缩其他用户的磁盘的空间和使用权限.因此,系统管 ...

  2. CentOS 6.5 iptables原理详解以及功能说明

    CentOS 6.5 iptables原理详解以及功能说明 来源 https://blog.51cto.com/tanxw/1389114 前言 iptables其实就是Linux下的一个开源的信息过 ...

  3. hadoop入门-centos7.2安装hadoop2.8

    1. 安装准备 (1)必须安装jdk: 因为hadoop是基于Java实现的,所有必须安装jdk 是JDK不是jre jdk1.7 jdk1.8 (2)系统位数 (3)创建专用用户 useradd h ...

  4. SAP Marketing Cloud功能简述(一) : Contacts和Profiles

    Dong Grace是Jerry的同事,目前是SAP成都研究院数字创新空间团队的一名实习生,明年7月才毕业.这篇文章是Grace对SAP Marketing Cloud功能梳理的一篇学习笔记,因为篇幅 ...

  5. PE重装系统

    PE重装系统 PE: 含义:全称 Windows Preinstall Environment,即Windows 预安装环境 作用: 是一个用于Windows安装准备的最小操作系统,其实就是一个简易版 ...

  6. Elasticsearch ES索引

    ES是一个基于RESTful web接口并且构建在Apache Lucene之上的开源分布式搜索引擎. 同时ES还是一个分布式文档数据库,其中每个字段均可被索引,而且每个字段的数据均可被搜索,能够横向 ...

  7. Apache日志轮询Cronolog安装及简单用法

    安装日志轮询工具cronolog: [root@bqh- tools]# tar xf cronolog-.tar.gz [root@bqh- tools]# cd cronolog- [root@b ...

  8. LNMP环境中的数据库迁移为独立的服务器

    环境: centos 6.5 ip:192.168.0.118  nginx.php.mysql centos 6.5 ip:192.168.0.117 mysql 现在我们需要把数据库迁移到192. ...

  9. linux uniq命令用法

    uniq命令: 对指定的ASCII文件或标准输入进行唯一性检查,以判断文本文件中重复出现的行,常用于分析日志:查看tcp各个状态连接数,ip或域名连接数排名等等场景,一般与 sort 命令结合使用. ...

  10. Computer Vision_33_SIFT:ORB_An efficient alternative to SIFT or SURF——2012

    此部分是计算机视觉部分,主要侧重在底层特征提取,视频分析,跟踪,目标检测和识别方面等方面.对于自己不太熟悉的领域比如摄像机标定和立体视觉,仅仅列出上google上引用次数比较多的文献.有一些刚刚出版的 ...