Ajax初始接触
演示JS对象的属性,方法和事件的使用
(1)window.location.href
(2)form.submit()
<form action="" method="POST">
<input type="button" value="提交到服务端" onclick="doSubmit()"/>
</form>
<script type="text/javascript">
function doSubmit(){
//表单提交
document.forms[0].submit();
}
</script>
(3)inputElement.onblur = 函数 onblur 事件会在对象失去焦点时发生。
(4)document.createElement(“img”) createElement() 方法可创建元素节点
(5)imgElement.style.width/height
什么是AJAX
客户端(特指PC浏览器)与服务器,可以在【不必刷新整个浏览器】的情况下,与服务器进行异步通讯的技术 即,AJAX是一个【局部刷新】的【异步】通讯技术AJAX不是全新的语言,是2005年Google公司推出的一种全新【编程模式】,不是新的编程语言
不用刷新整个页面便可与服务器通讯的办法有:
(A)Flash/ActionScript
(B)框架Frameset
(C)iFrame(内嵌入框架)
(D)XMLHttpRequest(非IE浏览器)和ActiveXObject(IE浏览器)
背景:早上IE5时,微软就开发出了第一个异步通讯对象,叫ActiveXObject对象,
Firefox等其它浏览器厂商也慢慢引入异步通讯对象,叫XMLHttpRequest对象,
IE的高版本,也将这个异步对象取名叫XMLHttpRequest对象,但IE有向下兼容问题,
也可以使用ActiveXObject对象。
无需第三方jar包,现代中高版本浏览器中内置了这个异步通讯对象,只需通过JavaScript就可以创建
注意:所有浏览器中都内置了异步对象,在默认情况下,该异步对象并没有创建出来
AJAX开发步骤
1:创建AJAX异步对象,例如:createAJAX()
2:准备发送异步请求,例如:ajax.open(method,url)
3:如果是POST请求的话,一定要设置AJAX请求头,例如:ajax.setRequestHeader()
如果是GET请求的话,无需设置设置AJAX请求头
4:真正发送请求体中的数据到服务器,例如:ajax.send()
5:AJAX不断的监听服务端响应的状态变化,例如:ajax.onreadystatechange,后面写一个无名处理函数

6:在无名处理函数中,获取AJAX的数据后,按照DOM规则,用JS语言来操作Web页面
Ajax案例
前台
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>ajax</title>
</head>
<body>
当前时间:<span id="time"></span><br/>
<input type="button" name="" value="获取当前时间" id="buttonId">
<script type="text/javascript">
document.getElementById("buttonId").onclick = function() {
//1、创建AJAX对象
var ajax = createAJAX();
//2、准备发送请求
var method = "GET";
//为了适应IE浏览器对其不变的地址缓存,以致其不会继续去发送请求,所以加上时间,保证唯一
var url = "${pageContext.request.contextPath}/TimeServlet?time="+new Date().getTime();
ajax.open(method, url);
//3、真正发送请求的具体数据到服务器,如果球体中无数据,就用null表示
ajax.send(null);
/*4、Ajax异步对象不断监听服务器
一定要状态变化后,才会触发function(){}函数
如果状态永远不变,不会触发function(){}函数
*/
ajax.onreadystatechange = function() {
//如果状态码为4
if (ajax.readyState == 4) {
//如果响应码为200
if (ajax.status == 200) {
//5、从ajax异步对象中获取服务其相应的Html数据
var str = ajax.responseText;
//6、操作数据
document.getElementById('time').innerHTML = str;
}
}
}
}
function createAJAX() {
var ajax = null;
try {
//如果是IE5——IE12的话
ajax = new ActiveXObject("microsoft.xmlhttp");
} catch (e1) {
//如果是非IE的话
ajax = new XMLHttpRequest();
}
return ajax;
}
</script>
</body>
</html>
后台
public class TimeServlet extends HttpServlet {
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String str=sdf.format(new Date());
//以流的形式将结果响应到ajax异步对象中
response.setContentType("text/html;charset=UTF-8");
PrintWriter pw=response.getWriter();
pw.write(str);
pw.flush();
pw.close();
}
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
this.doGet(request, response);
}
}
Ajax初始接触的更多相关文章
- js-jquery 中$.ajax -浅显接触
工作了将近2年,终于开始自己写ajax了!!!真紧张的! 当年培训时就没有学ajax,就让我们自己看看,我是那种主动学习的人吗?不是!!!所以搞不懂ajax!!!!! 在工作中,数据的绑定我们之前都是 ...
- 三、jQuery--Ajax基础--Ajax全接触--jQuery中的AJAX
用jQuery实现Ajax jQuery.ajax([settings]) type:类型,“POST”或“GET”,默认为“GET” url:发送请求的地址 data:是一个对象,连同请求发送到服务 ...
- 三、jQuery--Ajax基础--Ajax全接触--Ajax在JS中的应用
Ajax的全称:Asynchronous JavaScript And XML(异步的 JavaScript 和 XML). Ajax不是某种编程语言,是一种在无需重新加载整个网页的情况下能够更新部分 ...
- Ajax全接触
AJAX即“Asynchronous Javascript And XML”(异步JavaScript和XML) 通过在后台与服务器进行少量数据交换,AJAX 可以使网页实现异步更新.这意味着可以在不 ...
- ajax再接触
贴三个目前写的已经工作了的ajax,并且给出备注: 1.这是第一个ajax以及它的接口文档,需要注意的是1.因为返回数据是xml所以多加了contentType:"application/x ...
- Ajax全接触(2)
例子简介 1.查询员工信息,可以通过输入员工编号查询员工基本信息: 2.新建员工信息,包含员工姓名,员工编号,员工性别,员工职位: 实现: 1.纯html页面,用来实现员工查询和新建的页面: 2.ph ...
- Ajax全接触(1)
Ajax全称:Asynchronous JavaScript and XML(异步的JavaScript和XML) .Ajax不是某种编程语言 是一种在无需重新加载整个网页的情况之下能够更新部分网页的 ...
- 三、jQuery--Ajax基础--Ajax全接触--扩展知识(跨域)
- 三、jQuery--Ajax基础--Ajax全接触--JSON
JSON基本概念 JSON:JavaScript对象表示法(JavaScript Object Notation) JSON是存储和交换文本信息的语法,类似XML.它采用键值对的方式来组织,易于人们阅 ...
随机推荐
- nginx搭建简单的图片服务器
传统项目一般实现图片上传的话,都会在tomcat下面建立一个图片文件夹,上传成功后,用户可以直接访问, http://ip:port/project/images/xxx.jpg; 这样在用户量少的时 ...
- C#-VS远程通信
上下文 应用程序内的一套规则.例如使用了begentransaction,就建立了一个规则:再如把synchronization特性应用到某个对象,是多个线程轮流访问这个对象,这也在当前应用产生了一个 ...
- Mac-控制台更新svn版本
brew install subversion 直接安装svbversion至最新版本
- Hdu4185 Oil Skimming
Oil Skimming Problem Description Thanks to a certain "green" resources company, there is a ...
- Visualise the Argyris basis functions
""" Author: kinnala Visualise the Argyris basis functions. """ from sk ...
- centos下添加git
CentOS中yum里没有Git,需要手动安装. 首先需要安装git的依赖包 yum install curl yum install curl-devel yum install zlib-deve ...
- KNIME + Python = 数据分析+报表全流程
Python 数据分析环境 数据分析领域有很多可选方案,例如SPSS傻瓜式分析工具,SAS专业性商业分析工具,R和python这类需要代码编程类的工具.个人选择是python这类,包括pandas,n ...
- NODE-WEBKIT教程(6)NATIVE UI API 之MENU(菜单)
node-webkit教程(6)Native UI API 之Menu(菜单) 文/玄魂 目录 node-webkit教程(6)Native UI API 之Menu(菜单) 前言 6.1 Menu ...
- 我最常用的7个Web在线工具
为什么要用Web在线工具呢?有两个原因,第一,它不受限于物理平台,我既可以在自己的电脑上使用,也可以在公司或亲戚朋友的电脑上使用(不管对方的操作系统是什么,只要能上网):第二,可以解放硬盘,减少PC端 ...
- 使用c# 实现冒泡排序
冒泡排序是一个经典的案例 实现原理就数与数前后两两比较,如果前面比后面大则交换位置.最终达到从小到大的顺序,这样的排序方式就是冒泡排序. //冒泡排序 ;//定义一个中间变量,用来交换值 , , , ...