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.它采用键值对的方式来组织,易于人们阅 ...
随机推荐
- 【笔记】CSS选择器整理(IE低版本支持性测试)
时间:2015.05.11 参考附件:css选择器.xmind(网友共享) 查看链接:http://www.w3school.com.cn/cssref/css_selectors.asp htt ...
- Matlab绘图添加直角坐标轴
绘制y=x^2,并添加直角坐标轴. clear;clc;close all %% 绘制方程 x = -10:0.01:10; figure; y = x.^2-30; plot(x,y,'k','li ...
- Java并发编程:线程池的使用(转载)
文章出处:http://www.cnblogs.com/dolphin0520/p/3932921.html Java并发编程:线程池的使用 在前面的文章中,我们使用线程的时候就去创建一个线程,这样实 ...
- spring-数据库操作组件的实现
Ok,今天看了下spring数据库组件实现的源码,简要的做下笔记. 首先是JdbcTemplate,其实这个技术的实现很简单,就是一个模板类,把执行sql的主干流程都写好了,比如connection的 ...
- POJ2739 Sum of Consecutive Prime Numbers 2017-05-31 09:33 47人阅读 评论(0) 收藏
Sum of Consecutive Prime Numbers Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 25225 ...
- std::set 中内部元素有序条件删除的理解
std::set 中内部元素有序条件删除的理解 1. std::set中的元素是有序排列的 注意:Set集合中的元素通过iterator的引用,但是不能修改. 元素排序: (1)元素中实现比较oper ...
- 12.equals()方法总结
超类Object中有这个equals()方法,该方法主要用于比较两个对象是否相等.该方法的源码如下: 我们知道所有对象都有表示(内存地址)和状态(数据),看上面代码是用"=="来比 ...
- PHP后台登录 接口
/** * 登录 * tel 手机号 */ public function login(){ $param=input('param.'); if(!empty($param['tel'])){ if ...
- UNIGUI接收普通消息和被动回复用户消息
接收普通消息和被动回复用户消息 用户发送消息给公众号时(或某些特定的用户操作引发的事件推送时),会产生一个POST请求,开发者可以在响应包(Get)中返回特定XML结构,来对该消息进行响应(现支持回复 ...
- 微赞微擎V0.8以上版本:【数据库读写分离】实战教程 [复制链接]
http://www.efwww.com/forum.php?mod=viewthread&tid=4870 马上注册,下载更多源码,让你轻松玩转微信公众平台. 您需要 登录 才可以下载或查看 ...