之前写了一遍blog,很笼统的说了说Ajax的原理.新年来的第一个周末,从新来温故知新一下.
1.什么是Ajax
- Ajax不是一种技术,实际上,他由几种蓬勃发展的技术以新的强大方式组合而成的.
- 基于XMLHTML和CSS标准的表示
- 使用Document Object Model进行动态显示和交互
- 是XMLHttpRequest与服务器进行异步通信
- 使用JavaScript绑定一切
2.Ajax工作原理
- 要了解Ajax的工作原理,就要从理解XMLHttpRequest这个对象开始
-
open():建立到服务器的新请求
,XMLHttpRequest对象的open()方法会指定发送的请求.该方法有五个参数:
- request-type:发送请求的类型.典型的值是GET或POST.
- url:要连接的URL.
- asynch:如果希望使用异步连接则为true,否则为false.该参数是可选的默认为true
- username:身份验证(用户名)
- password:身份验证(口令)
通常,Open()方法取3个参数:
一个是指定所用方法(通常是GET或POST)的串;
一个是表示目标资源URL的串;
一个是Boolean值,指示请求是否是异步的
2. send():向服务器发送请求
- 一旦用open()配置好之后,就可以发送请求了,send()只有一个参数,就是要发送的内容,但是在考虑这个方法之前.URL本身发送过数据的.虽然可以使用send()发送数据,但也能通过URL本身发送数据.事实上.GET请求(在典型的Ajax应用大约占80%)中,用URL发送数据要容易的多.如果需要发送安全信息或XML,可能要考虑使用send()传递null作为该方法的参数即可.
3. abort():退出当前请求
4. readyState:提供当前HTML的状态
5. responseText:服务器返回的请求响应文本
6. onreadystatechange:回调方法(回调函数)
- 该属性允许指定一个回调函数.回调允许服务器反向调用文本页面中的代码.它也给了服务器一定程度的控制权,当服务器完成请求之后,会查看XMLHttpRequest对象,特别是onreadystatechange属性.
7.
responseXML:服务器返回的请求响应XML形式组织的文本
代码1:一个详细的XMLHttpRequest对象的创建
<script language="javascript" type="text/javascript">
function getXMLHttpRequest(){
var request = false;
try {
request = new XMLHttpRequest();
} catch (trymicrosoft) {
try {
request = new ActiveXObject("Msxml2.XMLHTTP");
} catch (othermicrosoft) {
try {
request = new ActiveXObject("Microsoft.XMLHTTP");
} catch (failed) {
request = false;
}
}
}
return request;
}
</script>
2.设置服务器URL
首先要确定连接的服务器的URL.这并不是Ajax的特殊要求,但是建立连接所必需的.多数应用程序中都会结合一些静态数据和用户处理的表单中的数据来构造该URL.
function testCheck(){
var name = document.forms[0].username.value;
//var name = document.getElementById("username").value;
if(xmlHttp == null) {
createXMLHttpRequest();
}
var url ="/buyer/checkUser.action?username="+name;
xmlHttp.open("POST",url,true);
xmlHttp.onreadystatechange = checkUsername;
xmlHttp.send(null);
}
3.表单
<s:form action="saveBuyer.action" method="post">
<!-- 已知数据库中有若干用户,当用户输入注册信息时,一旦用户完成了用户名的输入,系统可以立即提示该用户名是否可用,而不是等到用户提交注册请求时才判断用户名是否可用。 -->
<s:textfield label="会员账号" name="username" required="true" id="username"
requiredposition="left" size="36" onblur="testCheck()"/>
<s:actionerror/><div id="result" style="color: red; font-size: 22;"></div>
<!-- onblur当鼠标焦点离开文本框触发事件 -->
</s:form>
分享到:
相关推荐
原生态Ajax,即不依赖任何库或框架,直接使用JavaScript内置的XMLHttpRequest对象来实现页面与服务器之间的异步数据交换。这种技术在Web开发中至关重要,因为它允许在不刷新整个页面的情况下更新部分内容,提升了...
【原生态的ASP.NET AJAX Demo】是一个用于展示ASP.NET中使用AJAX技术的实例,它包含了一系列关键组件和代码,帮助开发者理解如何在不刷新整个页面的情况下实现异步数据交互和增强用户体验。在这个Demo中,我们可以...
### 原生Ajax基础 原生Ajax是通过使用浏览器提供的XMLHttpRequest对象来实现数据的异步交换。这一技术是早期开发中常用的方式。使用原生Ajax,开发者需要手动编写更多的代码,包括创建请求、处理响应、异常捕获等...
在现代Web应用中,为了提供类似原生态移动应用的流畅用户体验,"上拉刷新"和"下拉加载"功能已经成为必不可少的设计元素。这些功能让用户在滚动页面时可以无缝地加载更多内容,无论是刷新当前数据还是获取新的数据。...
在IT行业中,网页交互设计是至关重要的一环,而"仿新浪微博头像浮层(原生态)"就是一个典型的网页交互效果示例。这个项目利用纯JavaScript技术实现了一个与新浪微博类似的头像悬停弹出层功能,使得用户在鼠标悬浮在...
1. **创建XMLHttpRequest对象**:这是Ajax通信的基础,浏览器内置了这个对象,通过JavaScript实例化。 2. **开启一个新的HTTP请求**:调用XMLHttpRequest对象的open()方法,指定请求类型(GET、POST等)、URL和是否...
本资源“原生态纯JavaScript 100大技巧大收集”是一个全面的指南,旨在帮助开发者掌握JavaScript的各种高效、实用的技巧,以提升开发效率和代码质量。 1. **基础篇** - **变量声明**:理解var、let和const的区别,...
**AJAX 技术基础** AJAX(Asynchronous JavaScript and XML)是一种创建交互式 Web 应用的技术,通过组合 XHTML、CSS、JavaScript、XMLHttpRequest 等技术,使得网页可以异步与服务器进行通信,不需刷新整个页面即可...
这个名为"原生态js根据不同的条件要求点击后显示不同的表单内容效果源码.zip"的资源提供了一个使用纯JavaScript实现这一功能的实例。纯JavaScript,即不依赖任何外部库如jQuery,是一种轻量级且灵活的方式来操控网页...
### AJAX、jQuery与JSON基础知识详解 #### 一、引言 在现代Web开发中,AJAX(Asynchronous JavaScript and XML)、jQuery以及JSON是三个非常重要的技术。这些技术可以帮助开发者构建更加交互式、响应更快的Web应用...
**jQuery基础教程中文版2015** jQuery是一款强大的JavaScript库,它简化了HTML文档遍历、事件处理、动画设计和Ajax交互等任务。2015年发布的这个基础教程,旨在帮助初学者快速掌握jQuery的核心概念和技术。 一、...
VSCode下载与安装使用教程、HTML、列表、表格、媒体元素、基础、CSS 基础、CSS 美化网页元素、CSS浮动、CSS 网页动画、CSS 盒子模型、JavaScript 基础、JavaScript 函数、JavaScript BOM、JavaScript DOM、...
最后,jQuery的插件生态系统丰富多样,提供了大量预封装的功能,如轮播图、表单验证、日期选择器等。学习如何查找和使用这些插件,以及如何编写自己的插件,是进阶jQuery学习的重要环节。 通过阅读《jQuery基础教程...
在IT行业中,jQuery是一个广泛使用的JavaScript库,它简化了HTML文档遍历、事件处理、动画以及Ajax交互。jQuery使得前端开发更加便捷,尤其在构建用户界面时。本示例聚焦于利用jQuery创建一个树形结构(tree),这是...
- 插件生态系统:jQuery拥有庞大的插件库,扩展了其功能,如表单验证、图片轮播、弹出框等。 在学习和使用jQuery时,你需要理解基本的链式调用、对象和数组操作,以及如何与原生JavaScript方法结合使用。同时,了解...
微信小程序是基于微信生态的一种应用程序开发框架,开发者可以利用它构建原生的用户体验,同时享受到微信的海量用户基础。小程序支持多种功能,如地图、支付、社交分享等,且能够通过微信内部的推广机制快速触达...
- jQuery拥有庞大的插件生态系统,使得开发者可以轻松地添加额外功能,如轮播图、导航菜单、表单验证等。 8. jQuery的版本和兼容性 - jQuery有多个版本,包括开发版本和压缩版本。开发版本带有完整的注释和调试...
6. **插件开发**:jQuery拥有庞大的插件生态系统。教程会介绍如何利用jQuery开发自己的插件,以及如何集成和使用现有的高质量插件,以扩展jQuery的功能。 7. **性能优化**:学习如何有效利用jQuery提高页面性能,...
- 丰富的插件生态系统 #### 二、jQuery的选择器 - **基本选择器**:如`$("div")`选择所有`<div>`元素。 - **层次选择器**:如`$("div p")`选择`<div>`内的所有`<p>`元素。 - **属性选择器**:如`$("[href]")`选择...