- 浏览: 1233437 次
- 性别:
- 来自: 杭州
文章分类
- 全部博客 (399)
- 心情故事 (12)
- java (115)
- linux (55)
- 关系型数据库 (35)
- struts,jsf,spring (11)
- jdbc,hibernate,ibatis (11)
- jsp,jstl,c:tag,标签库 (2)
- ejb,webservice (1)
- tomcat,jboss,jetty,weblogic,websphere (15)
- java网络编程 (6)
- java线程 (0)
- js,jquery,json,xml,dom,html.regex (25)
- 设计模式 (6)
- BUG记录 (2)
- ant (2)
- jsp,servlet (4)
- swing (6)
- lucene+nutch (6)
- log4j (2)
- windows doc (2)
- ruby (1)
- ruby on rails (3)
- 操作系统网络 (18)
- apache 错误 (1)
- tomcat (10)
- jboss (9)
- jetty (9)
- weblogic (9)
- websphere (10)
- apache (2)
- AIX的iostat命令查看系统磁盘的使用情况 (1)
- oracle 统计一个表格有多少列 (1)
- Exception in thread "main" java.security.KeyStoreException: Windows-MY not found (1)
- jsp (1)
- jstl (1)
- c:tag (1)
- 标签库 (1)
- struts (1)
- jsf (1)
- spring (2)
- oracle,sqlplus (2)
- sqlplus (2)
- show errors (1)
- proc (1)
- function (1)
- ORA-06544: PL/SQL: internal error (1)
- arguments: [55916] (1)
- [] (7)
- 终端身份实施文档 (1)
- 重装系统之后飞鸽传书只能看到自己 (1)
- vsftp "上传 553 Could not create file" (1)
- startWebLogic.sh启动失败,提示Error initializing Embedded LDAP Server (1)
- java agent 注册为 windows 服务 (1)
- centos (1)
- svn (1)
- apr (1)
- apr-util (1)
- activemq (2)
- oracle (5)
- mysql (3)
- nosql (3)
- NSIS (1)
- windows wmic (1)
- c 指针 (1)
- c c++ (0)
- jmeter (0)
- 性能测试 (0)
- linux,备份 (2)
- C++ ,Virtual (1)
- windows dos (1)
- android (2)
- 大数据,云计算 (1)
- JVM垃圾收集 (1)
- jdbc (2)
- invoke (1)
- hibernate (1)
- ibatis (1)
- 个人开源项目源码收藏 (1)
- 批处理 (1)
- Mongodb mapreduce (8)
- kettle (1)
- Mongodb capped (1)
- mongodb gridfs (1)
- Mongodb 入门基础知识 (1)
- mongodb (8)
- hadoop2.5.1 (1)
- hadoop (4)
- eclipse (1)
- hdfs fs (1)
- elipse hadoop plugin (1)
- PHP相关知识 (1)
- js (1)
- jquery (1)
- json (1)
- xml (1)
- dom (1)
- html.regex (1)
- 网络知识 (1)
- nginx (1)
- docker (1)
- 测试 (1)
- nodejs (1)
- iptables (1)
- linux gitlab (1)
最新评论
-
July01:
最近了解到一款StratoIO打印控件,功能如下:1、Html ...
web页面调用window.print()函数实现打印的功能 -
hxdtech:
非常感谢!
我在学习ibatis时的培训ppt -
zmwxiaoming:
what 能连数据库不错
SOLR的学习整理 -
springdata_springmvc:
java程序语言学习教程 地址http://www.zuida ...
java获取当前操作系统的信息 -
huanzei:
整理的不错,
oracle lpad函数
Aajax概述
05年2月份,Adaptive Path公司发表了一片名为“ajax :一种WEB应用的程序开发的新方法”的文章。从此以后,ajax慢慢的被人们重视起来。但早期的ajax 的实现技术是比较早的隐藏帧技术。微软认识到了隐藏帧技术和隐藏iframe技术的流行,因此开发了XMLHttp,并且以ActiveX对象的形式引入。推动了web2.0的进程.
首先应用在IE浏览器上,继而。Mozilla,Opera,Safari也相继开发了自己的XMLHTTPRequest对象类支持ajax。
1ajax开发的原则.
尽量减少通信:发送的和接受的数据尽可能的少
没有意外
遵循常规
无干扰
可访问性
避免下载整个页面
用户第一
2ajax背后的技术
HTML/XHTML
CSS
DOM
XML
XSLT
XMLHttp
javaScript
Bhttp协议的状态码枚举
1
200找到了资源,并且一切正常
304该资源上次请求后没有修改,通常用于浏览器的缓存机制
401用户无权访问该资源
403客户未能获得授权
404指定的位置不存在要找的资源
2XMLHTTPRequest对象
IE5.0加入XML支持,也引入了名MSXML的ActiveX的程序库。然后Mozilla,Safari,Opera等也实现了自己的XMLHTTPRequest,统称为XHR对象。
创建XHR对象:IE7以前
var oXHR=new ActiveXObject("Microsoft.XMLHttp");
这个对象有很多的实现版本,微软建议是用3.0这个版本。通常在IE下面要去尝试浏览器具体是用的是哪个版本的ActiveX对象,因此,在创建的时候就有可能产生异常。
function createXHR(){ var aVersions={"MSXML2.XMLHttp.6.0","MSXML2.XMLHttp.3.0"}; for(va i=0;i<aversions.length;i++){ tyr{ var oXHR=new ActiveXObject(aVersions[i]); return oXHR; }catch(oError){} } } throw new Error("MSXML is not installed."); }
幸好,在mazilla,safari,opera和ie7使用的代码是相同的
var oXHR=new XMLHttpRequest();
这样就有了多个方法来创建这个对象,当然拥有一中创建XHR对象的跨浏览器的方法很有好处。可以修改函数如下。
function createXHR(){ if(typeofXMLHttpRequest!="undefined"){ return new XMLHttpRequest(); }else if(window.ActiveXObject){ var aVersions={"MSXML2.XMLHttp.6.0","MSXML2.XMLHttp.3.0"}; for(va i=0;i<aversions.length;i++){ tyr{ var oXHR=new ActiveXObject(aVersions[i]); return oXHR; }catch(oError){} }
3使用XHR对象
var oXHR=new XMLHttpRequest();//这里表示除IE外的浏览器的创建方法 oXHR.open("get","info.txt",true);
request type:请求类型 post,get,还有其它的,但不是被所有的浏览器支持。
URL :请求目标
async:是否异步true表示异步。
接着要定义一个onreadystatechange的事件处理函数。XHR有一个名为readState的属性。共有5种取值。
0对象已经创建,未初始化open()方法
1open方法已经调用,请求未发送
2请求已经发送
3收到部分响应
4所有数据已经收到,连接已经关闭
var oXHR=new XMLHttpRequest();//这里表示除IE外的浏览器的创建方法 oXHR.open("get","info.txt?id=123",true); oXHR.onreadystatechange==function(){ //如果是同步请求,那么就不需要这个函数 if(oXHR.readyState==4){ alert("Got response."); } }
最后一步就是发送
oXHR.send(null);//这里如果是get,则必须写null,post就像对象的引用。
关于post请求
function sendRequestPost(){ var oForm=document.forms[0]; var sBody=getRequestBody(oForm); var oXHR=new XMLHTTPRequest(); oXHR.open("post",oForm.action,true); oXHR.setRequestHeader("Content-Type","application/x-www-form-urlencoded"); oXHR.onreadystatechange=function(){ if(oXHR.readyState==4){ if(oXHR.status==200){ alert(oXHR.responseText); } } } oXHR.send(sBody); }
缓存控制,只要对浏览器重复调用,就必须考虑缓存的控制。这里可以使用Cache-Control 或Explres来设置
Cache-Control:no-cache Expires:Fri,30 Oct ...
总结:ajax技术有他的不少优点,但也是有限制的。在IE上,要求用户必须启用ActiveX控件,如果用户禁用ActiveX控件,我们就无法访问XHR对象,这个时候就只能使用隐藏帧技术。
发表评论
-
web页面调用window.print()函数实现打印的功能
2010-09-17 09:23 150761 在WEB上的打印通常的解决方法是用报表的方式,比较 ... -
jquery 排序插件 tablesorter
2010-09-06 09:19 4569分页的插件有很多,项目里面用的是jquery, ... -
正则表达式基础学习六:匹配字母和数字和下划线
2010-08-12 10:34 3713\w 匹配 ... -
正则表达式基础学习五:匹配数字
2010-08-12 10:11 12981 匹配数字:[0-9]是[012345 ... -
正则表达式学习基础四:空白元字符
2010-08-12 10:01 1328元字符有 .匹配任 ... -
正则表达式学习基础三:使用元字符.[]
2010-08-11 16:37 1238元字符是 regex里有特殊含义的字符,使用的时候 ... -
正则表达式学习基础二
2010-08-10 17:27 826主要学习[ ]集合的用法和取非。截图如下,备忘。- ... -
正则表达式基础学习一
2010-08-10 17:02 949在看正则表达式的东西。比较基础的一节课,接几个图贴下,备忘。 ... -
左边菜单隐藏,右边全屏
2010-01-06 17:12 2403<html> <head> ... -
setTimeout 和 setInterval 的区别
2009-12-14 09:58 1106window对象有两个主要的定时方法,分别是setTimeou ... -
js+html类似QQ右下角弹出提示的效果
2009-12-14 09:53 3337js部分 <script type="tex ... -
jquery jmpopups 弹出新窗口,可以弹多个
2009-12-11 11:07 7264<!DOCTYPE html PUBLIC " ... -
Jquery Ingrid 表格插件的使用
2009-12-02 09:35 3269demo.jsp <%@ page language= ... -
html关闭“双击输入框出现提示”这个问题
2009-10-30 10:42 2444一般我们在填写网站得 注册或登录的时候,第 ... -
firefox3不能获得html file的全路径的问题
2009-06-09 16:27 7872遇到这个问题以后, ... -
js添加一个新行,可以输入的Input,用于添加更多的业务
2009-06-09 09:59 4759<input type="butto ... -
获得select的innerText的值,在fireFox和IE里,Opera
2009-06-08 12:25 1169A 在IE里获得select的innerText的值用obj ... -
innerHTML IE bug未知的错误
2009-06-08 09:27 2081项目里要用到添加更 ... -
CSS样式学习笔记之五:表格的学习和表格的样式
2009-05-21 10:13 13441表格特有的元素:caption 和summary < ... -
js操作html的table,包括添加行,添加列,删除行,删除列,合并单元格(未实现)
2009-04-29 11:17 23586记得以前面试的时候遇到过这样一个问题:有一个表格 ...
相关推荐
Java相关课程系列笔记之一Java学习笔记 Java相关课程系列笔记之四JDBC学习笔记 Java相关课程系列笔记之六HTML学习笔记 Java相关课程系列笔记之七CSS学习笔记 Java相关课程系列笔记之八JavaScript学习笔记 Java相关...
AJAX是一中运用JavaScript和可扩展编辑语言(XML),在网络浏览器和服务器之间传送或接收数据的技术。...AJAX是WEB2.0的核心之一.AJAX技术运用与浏览器中,使向服务器索取网页的部分信息成为可能.
Java相关课程系列笔记之八JavaScript学习笔记(建议用WPS打开) Java相关课程系列笔记之二Oracle学习笔记(建议用WPS打开) Java相关课程系列笔记之九Servlet...Java相关课程系列笔记之一Java学习笔记(建议用WPS打开)
现在很多公司都在做标准的静态页面,为了增强客户的体验效果,经常会涉及到AJax效果,而设计...XmlHttp最大的用处是可以更新网页的部分内容而不需要刷新整个页面(这是AJax的最大特点之一哦)。 2、创建XMLHttpRequest
本文实例讲述了jQuery学习笔记之Ajax用法。分享给大家供大家参考,具体如下: 一、Ajax请求 1、jQuery.ajax(options) 通过 HTTP 请求加载远程数据。jQuery 底层 AJAX 实现。简单易用的高层实现见 .get,.post 等。 ....
《Java JDK 7学习笔记》将IDE操作纳为教学内容之一,使读者能与实践结合,提供的视频教学能更清楚地帮助读者掌握操作步骤。 内容简介 书籍 计算机书籍 《java jdk 7学习笔记》是作者多年来教学实践经验的总结...
本书在讲解的过程中,以“微博”项目贯穿全书,随着每一章的讲述都在适当的时候将JSP &Servlet技术应用于“微博”程序之中,以便读者能了解完整的应用程序构建方法。 作者简介: 林信良(网名:良葛格) 学历...
dojo学习笔记(一)-dojo.io.IO & dojo.io.BrowserIO) dojo学习笔记(三) dojo学习笔记(二) dojo.lang.array & dojo.lang.func & dojo.string.extras dojo学习笔记(六)- ContentPane dojo学习笔记(四)...
本人学习AJAX时间并不长,仅10余天,不能说百分之百掌握,但也有所领悟。现在把自己的学习经过和体会写下来,与君共分享。 一、学习经过: AJAX技术的文章和书籍很多,视频也不少,可以说是近两年最热的技术。但...
dojo学习笔记(一)-dojo.io.IO & dojo.io.BrowserIO) dojo学习笔记(三) dojo学习笔记(二) dojo.lang.array & dojo.lang.func & dojo.string.extras dojo学习笔记(六)- ContentPane dojo学习笔记(四)...
dojo学习笔记(一)-dojo.io.IO & dojo.io.BrowserIO) dojo学习笔记(三) dojo学习笔记(二) dojo.lang.array & dojo.lang.func & dojo.string.extras dojo学习笔记(六)- ContentPane dojo学习笔记(四)...
dojo学习笔记(一)-dojo.io.IO & dojo.io.BrowserIO) dojo学习笔记(三) dojo学习笔记(二) dojo.lang.array & dojo.lang.func & dojo.string.extras dojo学习笔记(六)- ContentPane dojo学习笔记(四)...
Ajax 通俗来讲即不需要刷新页面即可从服务器或客户端上加载数据,当然这些数据的格式是多种多样的。
由于工作需要,所以研究了一段时间的jQuery,参考了大量的宝贵资源,所以资源回馈一下,该笔记详细,有重点,经word排版可直接打印,以方便查阅,打印出来字体应该不小的! 参考: 《jQuery基础教程》、《锋利jQuery》 王兴魁 ...
简言之,Ajax 是一种开发技术,支持网站或应用程序,使用实时数据更新界面,无需页面刷新。该功能创建了一种更为流畅且更具桌面风格的用户体验。 Ajax 简史 Ajax 的发展历史类似于其他许多一夜成名的技术。尽管 ...
加载 HTML 我们通常使用加载 HTML 的方法来加载 HTML 片段,并插入到指定位置,假设当前页面为: <div></div> <button>load</button> ...JSON 即 Javascript Object Notation,直译过来即 Javas
ExtJS4学习笔记(一)---window的创建 ExtJS4学习笔记(七)---带搜索的Grid(SearchGrid) ExtJS4学习笔记(三)---VBox的使用 ExtJS4学习笔记(九)---ExtJS4 EditGrid(可编辑的Grid) ExtJS4学习笔记(二)---HBox的使用 ...
在前一篇介绍 jQuery Ajax 的数据加载中的例子都是从静态的文件中取得数据,而 Ajax 更大的价值在于与后端服务器进行数据传递,动态地请求和发送数据。
就像上节所将到的Ajax框架一样,简单的说,jQuery是一个优秀的javascript框架,它能够让用户方便的处理html,events(冒泡)事件,动画效果,ajax交互等,它极大程度的改变了开发者使用javascript的习惯。jQuery自2006...
最近在学习jQuery,在网上看到有几篇关于jQuery的文章,写的不错转载过来跟大家分享一下;...嗯,可以看出,使用JQuery的优势之一是可以使代码更加简练,使开发人员更加专注于逻辑本身。 二、JQuery