- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
AJAX(用法总结-精华版)
AJAX(用法总结-精华版)
PAGE
AJAX(用法总结-精华版)
1、ajax是什么?
ajax: asynchronous javascript and xml: 异步的javascript和xml。
ajax是一种用来改善用户体验的技术,其本质是利用浏览器内置的一种特殊的对象(XMLHttpRequest)异步(即发送请求时,浏览器不会销毁当前页面,用户可以继续在当前页面做其它的操作)的向服务器发送请求,并且利用服务器返回的数据(不再是一个完整的页面,只是部分的数据,一般使用文本或者xml返回)来部分更新当前页面。
使用ajax技术之后,页面无刷新,并且不打断用户的操作。
2、ajax对象
(1)如何获得ajax对象?
XMLHttpRequest并没有标准化,要区分浏览器:
function getXhr()
{
var xhr;
if{
xhr = new XMLHttpRequest(); onreadystatechange: 绑订一个事件处理函数(即: 注册一个监听器)
当ajax对象的readyState值发生了改变(比如,
从0--1),就会产生readystatechange事件。
b. responseText: 获得服务器返回的文本
c. responseXML: 获得服务器返回的XML dom对象
d. status: 获得状态码
e. readyState: 返回ajax对象与服务器通讯的状态。返回值是一个number类型的值,不同的值表示不同的含义:
0: (为初始化) -- 对象已建立,但是尚未初始化(尚未调用 open方法)
1: (初始化) -- 对象已建立,尚未调用send方法
2: (发送数据) -- send方法已调用
3: (数据传送中) -- 已接受部分数据
4: (响应结束) -- 接收了所有的数据
(3)ajax编程的基本步骤
1) 获取ajax对象(XmlHttpRequest)
使用 XmlHttpRequest向服务器发送请求
在服务器端处理请求
在监听器当中,处理服务器返回的响应
1) 获取ajax对象(XmlHttpRequest)
var xhr = getXhr();
2) 发送请求
(请求方式, 请求地址, 异步还是同步);
请求方式: get/post
请求地址:如果是get请求,请求参数要添加到请求地址的后面。
true表示异步请求: ajax对象发请求的同时,用户可以对当前
页面做其它的操作。一般常用异步。
false表示同步请求:ajax对象发请求的同时,浏览器会锁订当
前页面,用户需要等待处理完成之后才能做下一步操作。
方式一: get请求
var xhr = getXhr();
(get, name=zs, true);
=f1;
(null);
方式二: post请求
var xhr = getXhr();
(post, , true);
alue;
}
function getXhr() nnerHTML = txt;
}
}
$(name_msg).innerHTML = 正在验证;
nnerHTML = txt;
}
}
$(name_msg).innerHTML = 正在验证;
(2)发送post
所有浏览器内置的ajax对象都会使用utf-8进行编码。
解决方案:
(utf-8);
ajax应用中的缓存问题:
当使用IE浏览器时,如果使用get方式发请求,浏览器会将数据缓存起来。
这样,当再此发送请求时,如果请求地址不变,IE浏览器不会真正地向服务器发送请求,而是将之前缓存的数据显示给用户 。
解决方式1: 使用post方式发请求。
解决方式2: 在请求地址后面添加一个随机数:
(get, some?tt= + (), true);
5、发送同步请求
(post,,false);
文档评论(0)