Ajax---(Asynchronous JavaScript + XML)
来源:互联网 发布:同花顺 api 编程接口 编辑:程序博客网 时间:2024/04/29 10:47
在我们初识JSP时,刷新页面只能靠一个函数或者其他方法使整个页面刷新,这种网路连线其实是個很耗资源的,程式必须序列化、通讯协定沟通、实体路由传送等动作,这些动作都很耗时间和资源,所有透过网路必需的额外操作,常能拖慢一個系统,就Web应用程式而言,通常只能透过表单進行资料提交,在同步的情況下,使用者送出表单之后,就只能等待远端伺服器回应,在这段时间內,使用者无法作进一步的操作。这种就是同步的请求方式。
而Ajax技术可以发出非同步请求操作,Ajax使用的是javascipt和Xml技术,在Mozilla/Firefox/Safari中,用XMLHttpRequest来发出请求,而在IE6 或IE先前版本,是使用ActiveXObject來发出非同步请求。
所以在使用Ajax时,通常要先进行测试浏览器的版本,代码如下:
var xmlHttp;function createXMLHttpRequest() { if (window.XMLHttpRequest) { // 如果可以取得 XMLHttpRequest xmlHttp = new XMLHttpRequest(); // Mozilla、Firefox、Safari } else if (window.ActiveXObject) { // 如果可以取得 ActiveXObject xmlHttp = new ActiveXObject("Microsoft.XMLHTTP"); // Internet Explorer }}这样就获得了xmlHttp 对象。那么如何使用它来发出非同步的请求呢?一个基本的请求可以是以下片段:
这是使用get方法向服务器发送的请求:(如果要向下一个页面传递参数,则要再请求头中传递)
function startRequest() { createXMLHttpRequest(); // 建立非同步请求物件 xmlHttp.onreadystatechange = handleStateChange; // 设定callback函式 xmlHttp.open("GET", "url"); // 开启连接 xmlHttp.send(null); // 傳送請求}//这是回调函数,建立非同步请求成功后执行下列逻辑代码 function handleStateChange() { if (xmlHttp.readyState == 4) { // 是否請求完成 if (xmlHttp.status == 200) { // 如果服务端回应OK //进行业务操作 } } }这是使用post方法向服务器发送的请求:(直接用xmlHttp.send()传递参数)
function startRequest() { createXMLHttpRequest(); // 建立非同步请求物件 xmlHttp.onreadystatechange = handleStateChange; // 设定callback函式 <span style="FONT-WEIGHT: bold">xmlHttp.open("POST", url);</span><span style="FONT-WEIGHT: bold"> xmlHttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");</span>//必须包含的部分<span style="FONT-WEIGHT: bold"> xmlHttp.send("参数");</span>}//这是回调函数,建立非同步请求成功后执行下列逻辑代码 function handleStateChange() { if (xmlHttp.readyState == 4) { // 是否請求完成 if (xmlHttp.status == 200) { // 如果服务端回应OK alert("服务端回应" + xmlHttp.responseText); // 这边取得回应文字 } } }这就是Ajax的基础啦,应用就比如用户注册时在表单中提示用户名是否重复(在文本框失去焦点时触发函数查询数据库),就是一个基本的Ajax应用案例。
Ajax很灵活,需要开发者灵活运用它。
0 0
- Ajax---(Asynchronous JavaScript + XML)
- Ajax(Asynchronous JavaScript + XML)的定义
- ajax(Asynchronous JavaScript And XML)
- Asynchronous JavaScript and XML(Ajax)
- Asynchronous JavaScript And XML (Ajax)由浅入深
- Ajax(Asynchronous Javascript And XML)
- AJAX (Asynchronous JavaScript and XML)
- Ajax = asynchronous JavaScript + XML
- AJAX(Asynchronous JavaScript and XML)
- AJAX(Asynchronous Javascript And Xml)
- Ajax(Asynchronous JavaScript and XML)在JQuery中的应用
- 前后端数据交互ajax(Asynchronous Javascript And XML)
- Asynchronous JavaScript Technology and XML (AJAX)
- Asynchronous JavaScript Technology and XML (AJAX)
- Asynchronous JavaScript and XML (AJAX) Introduction
- AJAX -- Asynchronous JavaScript and XML 学习记录
- AJAX全称为“Asynchronous JavaScript and XML”(异步JavaScript和XML)
- AJAX = Asynchronous JavaScript and XML(异步的 JavaScript 和 XML)开学学习在了
- Eclipse蛋疼的变量自动补全类名解决方法
- epoll使用详解(精髓)
- UVALive - 4324 Ugly Windows 水题+坑题
- 神经网络学习笔记(一)
- 对抗搜索(Adversarial Search)
- Ajax---(Asynchronous JavaScript + XML)
- 象观敏捷之旅-初探UserStory
- [Java并发编程]-创建线程的两种方式及区别
- Android重力感应开发
- 黑马程序员--数据类型和运算符
- java多线程之Semaphore信号量详解
- 黑马程序员_日记33_Java迭代器基本使用
- window下查看端口被哪个进程占用
- FZU - 2147 A-B Game(找规律)