Java web AJAX入门
一:AJAX简介
AJAX :Asynchronous JavaScript And XML
指异步 JavaScript 及 XML
一种日渐流行的Web编程方式
Better
Faster
User-Friendly
不是一种新的编程语言,而是一种用于创建更好更快以及交互性更强的 Web 应用程序的技术,是基于JavaScript、XML、HTML、CSS新用法
基于标准的表示技术,使用XHTML和CSS
动态显示和交互技术,使用Document Object Model
数据交换和操作技术,使用XML和XSLT
异步数据获取技术,使用XMLHttpRequest
而JavaScript将以上都结合在一起
二、同步和异步的区别(理解)
异步图例:
三:第一个AJAX案例:编写步骤(重要)
1、创建XmlHttpRequest对象
2、注册状态监控回调函数
3、建立与服务器的异步连接
4、发出异步请求
四、XmlHttpRequest详解:(重要)
属性
readyState:类型short;只读
responseText:类型String;只读
responseXML:类型Document;只读
status:类型short;只读
statusText:类型String;只读
方法:
abort()
getAllResponseHeaders()
getResponseHeader()
open()
send()
setRequestHeader()
事件处理器
onreadystatechange
1、XmlHttpRequest对象:
不同浏览器是不同的。
属性:
l status:只读的。代表着服务器端返回的响应码(200)
l statusText:只读的。代表着服务器端返回的响应吗描述。
l readyState:只读的。代表着当前AJAX引擎处于的状态
0:代表XmlHttpRequest对象刚刚创建。
1:open已经调用(建立与服务器的链接),但是send()还没有调用,还没有发出请求。
2:send方法已经被调用。请求对象已经给了服务器端,但是还没有响应。
3:能够取到响应消息头,但是取不到相应的正文
4:响应结束,可以取到所有响应的内容。
l responseText:只读的。代表着服务器端返回的。r
l
l responseXML:只读的。代表着服务器端返回的是XML的文档(Docuent)。
方法:
abort():终止异步请)
getAllResponseHeaders():得到所有的响应消息头和值。就是一个符串。 getResponseHeader(headerName):得到指定的响应消息头的值。返回一个字符串
open(String method,String url, boolean async):建立与服务器端的链接。async默认是true,异步请求。如果为false,为同步请求。
send(“k1=v1&k2=v2”):向服务器端发送请求正文。get请求,传递null即可。
SetRequestHeader(headerName,headerValue):向服务器端传递请求消息头。
事件:
onreadystatechange:对应一个函数。回调函数。每一次的readyState的值发生变化,都会调用它指定的函数。
五、两个小案例
六、服务器端返回的不同类型的数据:JSON或XML
七、JSON-lib、XStream
八、异步的省市二级联动
Java web AJAX入门的更多相关文章
- JAVA WEB快速入门之从编写一个基于SpringBoot+Mybatis快速创建的REST API项目了解SpringBoot、SpringMVC REST API、Mybatis等相关知识
JAVA WEB快速入门系列之前的相关文章如下:(文章全部本人[梦在旅途原创],文中内容可能部份图片.代码参照网上资源) 第一篇:JAVA WEB快速入门之环境搭建 第二篇:JAVA WEB快速入门之 ...
- 在MyEclipse下创建Java Web项目 入门(图文并茂)经典教程
http://jijiaa12345.iteye.com/blog/1739754 在MyEclipse下创建Java Web项目 入门(图文并茂)经典教程 本文是一篇在Myeclipse下构建Jav ...
- Java Web快速入门——全十讲
Java Web快速入门——全十讲 这是一次培训的讲义,就是我在给学生讲的过程中记录下来的,非常完整,原来发表在Blog上,我感觉这里的学生可能更需要. 内容比较长,你可以先收藏起来,慢慢看. 第一讲 ...
- day04 Java Web 开发入门
day04 Java Web 开发入门 1. web 开发相关介绍 2. web 服务器 3. Tomcat服务器启动的问题 4. Tomcat目录结构 5. Web应用程序(虚拟目录映射,缺省web ...
- JAVA WEB快速入门之从编写一个基于SpringMVC框架的网站了解Maven、SpringMVC、SpringJDBC
接上篇<JAVA WEB快速入门之通过一个简单的Spring项目了解Spring的核心(AOP.IOC)>,了解了Spring的核心(AOP.IOC)后,我们再来学习与实践Maven.Sp ...
- JAVA WEB快速入门之通过一个简单的Spring项目了解Spring的核心(AOP、IOC)
接上篇<JAVA WEB快速入门之从编写一个JSP WEB网站了解JSP WEB网站的基本结构.调试.部署>,通过一个简单的JSP WEB网站了解了JAVA WEB相关的知识,比如:Ser ...
- JAVA WEB快速入门之从编写一个JSP WEB网站了解JSP WEB网站的基本结构、调试、部署
接上篇<JAVA WEB快速入门之环境搭建>,在完成了环境搭建后(JDK.Tomcat.IDE),现在是万事具备,就差写代码了,今天就来从编写一个JSP WEB网站了解JSP WEB网站的 ...
- Java Web基础入门
前言 语言都是相通的,只要搞清楚概念后就可以编写代码了.而概念是需要学习成本的. Java基础 不用看<编程思想>,基础语法看 http://www.runoob.com/java/jav ...
- java WEB开发入门
WEB开发入门 1 进入web JAVASE:标准- standard JAVA桌面程序 GUI SOCKET JAVAEE:企业-浏览器控制 web 2 软件结构 C/S :client ...
随机推荐
- Makefile中export分析
在分析内核启动过程的./arch/arm/Makefile文件里碰到了这样字段 162 export TEXT_OFFSET GZFLAGS MMUEXT 然后在子目录arch/arm/kernel/ ...
- 【打死树莓派】-树莓派3代jessie+Opencv-解决安装不了libgtk2.0-dev包问题
按照国际法先贴问题 Some packages could not be installed. This may mean that you have requested an impossible ...
- linux系统下C语言调用lapack ,blas库
在利用C语言编程,经常调用其他的软件包,其中lapack,blas库是最常用的两个库,这里讲下在linux系统下,C语言编程如何调用这两个库: 1.首先讲下blas库的调用,这里以两个向量内积函数为例 ...
- poj 1149经典网络流构图
题意:m个猪圈,n个客户,每个客户给出选则猪圈的钥匙和需要购买猪的个数,其中每次客户购买时客户选则的猪圈数量可以相互更换,问最大购买数量. 思路:以客户作为除源点汇点之外的点,然后对于每个猪圈从源点连 ...
- ArrayBuffer和TypedArray,以及Blob的使用
前端使用TypedArray编辑二进制 ES6提供了, ArrayBuffer和TypedArray, 让前端也可以直接操作编辑二进制数据, 网页中的类型为file的input标签, 也可以通过Fil ...
- Django1.10主题指南—模型
模型是你的数据的唯一的.权威的信息源.它包含你所储存数据的必要字段和操作行为.通常,每个模型都对应着数据库中的唯一一张表. 基础认识: 每个model都是一个继承 django.db.models.M ...
- 201521123066《Java程序设计》第八周学习总结
1. 本周学习总结 1.1 以你喜欢的方式(思维导图或其他)归纳总结集合与泛型相关内容. 2. 书面作业 本次作业题集集合 1.List中指定元素的删除(题目4-1) 1.1 实验总结** 用cont ...
- 201521123097《Java程序设计》第六周学习总结
1. 本周学习总结 1.1 面向对象学习暂告一段落,请使用思维导图,以封装.继承.多态为核心概念画一张思维导图,对面向对象思想进行一个总结. 2. 书面作业 1.clone方法 1.1 Object对 ...
- 201521123018 《Java程序设计》第6周学习总结
1. 本章学习总结 2. 书面作业 一.clone方法 1.1 Object对象中的clone方法是被protected修饰,在自定义的类中覆盖clone方法时需要注意什么? 用protected修饰 ...
- 201521123039 《java程序设计》第三周学习总结
1.本周学习总结 2.书面作业 (1)代码阅读 public class Test1 { private int i = 1;//这行不能修改 private static int j = 2; pu ...