jQuery 基础之 Ajax
ajax : Asynchronous Javascript And XML
(异步的 JavaScript
和 XML
)
- 创建
ajax
对象var xhr = new XMLHttpRequest();
- 准备发送请求
get
- 传递的数据放在 URL 后面
- 中文编码
encodeURI( '' );
- 缓存 在数据后面加上随机数或者日期对象或者……;
post
- 传递的数据放在
send()
里面,并且一定要规定数据格式 - 没有缓存问题
- 传递的数据放在
- form 表单中:
action
:method
:(默认是get
)get
: 会在 url 里面以name=value
, 两个数据之间用&
连接post
:
enctype
:"application/x-www-form-urlencoded"
url
- 是否异步
- 同步(
false
):阻塞 - 异步(
true
):非阻塞
- 同步(
- 正式发送请求
ajax
请求处理过程
案列:
var ajx = null;
if(window.XMLHttpRequest){//兼容处理
var ajx = new XMLHttpRequest();//一般浏览器
}else
{
ajx = new ActiveXObject("Microsoft.XMLHTTP");//IE6+
}
//准备发送请求
ajx.open("get","ajax.txt",true);
//正式发送请求
ajx.send();
//处理请求
ajx.onreadystatechange = function(){
if(ajx.readState == 4){
if (ajx.status == 200)//200 是 HTTP 请求成功的状态码
{
console.log(ajx.responseText);
}else{
alert("请求出错");
}
}
}
onreadystatechange
:当处理过程发生变化的时候执行下面的函数readyState
:ajax
处理过程- 0:请求未初始化(还没有调用
open()
)。 - 1:请求已经建立,但是还没有发送(还没有调用
send()
)。 - 2:请求已发送,正在处理中(通常现在可以从响应中获取内容头)。
- 3:请求在处理中;通常响应中已有部分数据可用了,但是服务器还没有完成响应的生成。
- 4:响应已完成;您可以获取并使用服务器的响应了。
- 0:请求未初始化(还没有调用
responseText
:请求服务器返回的数据存在该属性里面status :
http 状态码
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
上一篇: JavaScript 下常用的字符串操作
下一篇: 彻底找到 Tomcat 启动速度慢的元凶
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论