AJAX使用四步曲
前言
AJAX这个东西还是很模糊的,下面会对AJAX这个技术进行详细讲解一些,另外,在网上商城中应用到了,使用它有四个步骤,下面详细介绍一些。
内容
定义:
AJAX=异步JavaScript和XML
它是一种用于创建快速动态的网页的技术,通过后台与服务器进行少量数据交换,AJAX可以使网页实现异步更新。这意味着可以在不重新加载整个网页的情况下,对网页的某部分进行更新。
工作原理:
相当于在用户和服务器之间加了一个中间层(AJAX引擎),使用户操作与服务器响应异步化。并不是所有用户请求都提交给服务器,像一些数据验证和数据处理等都交给了Ajax引擎自己来做,只有确定需要从服务器读取新数据时再由Ajax引擎代为服务器提交请求。
应用方式为:
*创建XMLHttpRequest对象
第一种:
var xmlhttp;
if (window.XMLHttpRequest)
{// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
}
else
{// code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
第二种:
var xmlHttp;
try{//Firefox,Opera 8.0+,Safari
xmlHttp=new XMLHttpRequest();
}
catch(e){
try{//Internet Explorer
xmlHttp=new ActiveObject("Msxml2.XMLHTTP");
}
catch(e){
try{
xmlHttp=new ActiveObject("Microsoft.XMLHTTP");
}
catch(e){}
}
}
return xmlHttp;
*设置监听的对象
将服务器响应形式发送给前台界面,响应结果为:
ResponseText:获得字符串形式的响应数据
ResponseXML:获得XML形式的响应数据
监听的结果情况:
*打开链接
*发送请求
小例子
需求:
通过点击查询订单详情按钮,得出订单信息;(采用AJAX异步加载)
解决方式:
1、创建异步加载的对象
2、设置监听
3、
打开链接
4、
发送
Demo
<script type="text/javascript">
function showDetail(oid){
//获得按钮对象
var but = document.getElementById("but"+oid);
//获得div对象
var div1 = document.getElementById("div"+oid);
if(but.value == "订单详情"){
//1、创建异步加载对象
var xhr = createXmlHttp();
//2、设置监听
xhr.onreadystatechange = function(){
if(xhr.readyState == 4){
if(xhr.status == 200){
div1.innerHTML = xhr.responseText;//获得字符串形式的响应数据
}
}
}
//3、打开链接
xhr.open("GET","${pageContext.request.contextPath}/adminOrder_findOrderItem.action?tiem="+new Date().getTime()+"&oid="+oid,true);
//4、发送
xhr.send(null);
but.value = "关闭";
}else{
but.value="订单详情";
div1.innerHTML = "";
}
} function createXmlHttp(){
var xmlHttp;
try{//Firefox,Opera 8.0+,Safari
xmlHttp=new XMLHttpRequest();
}
catch(e){
try{//Internet Explorer
xmlHttp=new ActiveObject("Msxml2.XMLHTTP");
}
catch(e){
try{
xmlHttp=new ActiveObject("Microsoft.XMLHTTP");
}
catch(e){}
}
}
return xmlHttp;
}
</script>
小结
ITOO项目的时候,用到AJAX异步请求,但是没有这么仔细的写下来过,AJAX的也是有优缺点的,但是个人感觉利大于弊。感兴趣的同胞们可以看看AJAX的优缺点,我在这里就不复制粘贴了。AJAX工作原理及其优缺点
感谢您的宝贵时间······
AJAX使用四步曲的更多相关文章
- jQuery之ajax实现篇
jQuery的ajax方法非常好用,这么好的东西,你想拥有一个属于自己的ajax么?接下来,我们来自己做一个简单的ajax吧. 实现功能 由于jq中的ajax方法是用了内置的deferred模块,是P ...
- Ajax及跨域
概念 Ajax Ajax,Asynchronous JavaScript and XML,字面意思:异步的 JavaScript 和 XML,是指一种创建交互式网页应用的网页开发技术. 用于异步地去获 ...
- 一个粗心的Bug,JSON格式不规范导致AJAX错误
一.事件回放 今天工作时碰到了一个奇怪的问题,这个问题很早很早以前也碰到过,不过没想到过这么久了竟然又栽在这里. 当时正在联调一个项目,由于后端没有提供数据接口,于是我直接本地建立了一个 json ...
- ABP文档 - Javascript Api - AJAX
本节内容: AJAX操作相关问题 ABP的方式 AJAX 返回信息 处理错误 HTTP 状态码 WrapResult和DontWrapResult特性 Asp.net Mvc 控制器 Asp.net ...
- ajax异步请求
做前端开发的朋友对于ajax异步更新一定印象深刻,作为刚入坑的小白,今天就和大家一起聊聊关于ajax异步请求的那点事.既然是ajax就少不了jQuery的知识,推荐大家访问www.w3school.c ...
- 调用AJAX做登陆和注册
先建立一个页面来检测一下我们建立的用户名能不能用,看一下有没有已经存在的用户名吗 可以通过ajax提示一下 $("#uid").blur(function(){ //取用户名 va ...
- Ajax 概念 分析 举例
Ajax是结合了访问数据库,数据访问,Jquery 可以做页面局部刷新或者说是页面不刷新,我可以让页面不刷新,仅仅是数据的刷新,没有频繁的刷页面,是现在比较常用的一种方式做页面那么它是怎么实现页面无刷 ...
- ajax
常见的HTTP状态码状态码:200 请求成功.一般用于GET和POST方法 OK301 资源移动.所请求资源移动到新的URL,浏览器自动跳转到新的URL Moved Permanently304 未修 ...
- 学习笔记之MVC级联及Ajax操作
由于刚转型到MVC,MVC的架构模式很多不是很清楚,比如今天就想做个级联的操作,因为之前的ASP.NET的方式是通过:控件-->添加事件-->后台编写级联事件进行触发,但是这个MVC就不同 ...
随机推荐
- 【转】LTE 全过程流程
LTE 过程全流程 1. UE处于关闭状态 2. 打开UE电源. 3. 搜索附近的频率 4. 同步时间 5. 小区搜索 6. 小区选择 7. 解码MIB 8. 解码SIB 9. 初始化RACH过程 1 ...
- 基于RFC5321使用ncat发送邮件
今天和同事学习到的这个方法,学习了,记录一下: [root@localhost ~]# ncat TeamServer.localdomain ESMTP Postfix EHLO l00.win - ...
- webscheduler 开源定时服务和延迟服务
源码地址:https://gitee.com/eabeat/webscheduler 架构上采用 asp.net + access ,实现简单的管理界面,可以维护调用API,查看日志等功能.内核采用Q ...
- xcode编写c/c++静态库使用系统头文件问题
c/c++编写的静态库中有引用ios系统头文件比如: #include <EGL/egl.h> 在xcode编译的时候需要设置静态库程序: Build Settings-Header Se ...
- 【知识碎片】Net项目经验积累
后台传JSON到js报错 MVC控制器传json到前端JS"变为" 导致JS报错 重点是一定要在@ViewBag.typeJson两边加双引号,并且后台用 编码前台解码 ViewB ...
- css代码结构
整个文档结构如下: 一般性样式 主体样式 reset样式 链接 标题 其他元素 辅助样式 表单 通知和错误 一致的条目 页面结构 标题.页脚和导航 布局 其他页面结构元素 页面组件 各个页面 覆盖
- php二维数组排序方法(array_multisort,usort)
一维数组排序可以使用asort.ksort等一些方法进程排序,相对来说比较简单.二维数组的排序怎么实现呢?使用array_multisort和usort可以实现 例如像下面的数组: $users = ...
- CSS代码重构与优化之路(转)
CSS代码重构与优化之路 阅读目录 CSS代码重构的目的 CSS代码重构的基本方法 CSS方法论 我自己总结的方法 写CSS的同学们往往会体会到,随着项目规模的增加,项目中的CSS代码也会越来越多 ...
- HDU 6397(2018多校第8场1001) Character Encoding 容斥
听了杜教的直播后知道了怎么做,有两种方法,一种构造函数(现在太菜了,听不懂,以后再补),一种容斥原理. 知识补充1:若x1,x2,.....xn均大于等于0,则x1+x2+...+xn=k的方案数是C ...
- 20行核心代码:jQuery实现省市二级联动
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ...