ajax代码及简单封装
2016-01-14 13:51
393 查看
var xmlhttp = window.XMLHttpRequest ? new XMLHttpRequest() : new ActiveXObject('Microsoft.XMLHTTP'); //创建XMLHTTP对象,考虑兼容性 xmlhttp.open("POST", "AJAXTest.ashx?" + "i=5&j=10", true); //“准备”向服务器的GetDate1.ashx发出Post请求(GET可能会有缓存问题)。这里还没有发出请求 xmlhttp.onreadystatechange = function () { if (xmlhttp.readyState == 4) //readyState == 4 表示服务器返回完成数据了。之前可能会经历2(请求已发送,正在处理中)、3(响应中已有部分数据可用了,但是服务器还没有完成响应的生成) { if (xmlhttp.status == 200) //如果状态码为200则是成功 { alert(xmlhttp.responseText); } else { alert("AJAX服务器返回错误!"); } } } //不要以为if (xmlhttp.readyState == 4) {在send之前执行!!!! xmlhttp.send(); //这时才开始发送请求 //发出请求后不等服务器返回数据,就继续向下执行,所以不会阻塞,界面就不卡了,这就是AJAX中“A”的含义“异步”。试着在ashx加一句Thread.Sleep(3000); 简单的ajax封装: function ajax(url,onsuccess,onfail) { var xmlhttp = window.XMLHttpRequest ? new XMLHttpRequest() : new ActiveXObject('Microsoft.XMLHTTP'); xmlhttp.open("POST", url, true); xmlhttp.onreadystatechange = function () { if (xmlhttp.readyState == 4) { if (xmlhttp.status == 200) { onsuccess(xmlhttp.responseText); } else { onfail(xmlhttp.status); } } } xmlhttp.send(); //这时才开始发送请求 }
相关文章推荐
- 简单东西-Java不变类编写
- Java字符串常量池的问题
- C++入门(16):副本构造器和赋值操作符、强制类型转换
- Python之路【第二篇】:Python基础(二)
- Spring MVC 的请求参数获取的几种方法
- struts2的DevMode模式
- python基础之字符串
- c++之我们为什么选择使用智能指针
- struts2 配置文件的理解
- JAVA 监控内容收集之 Jmxtrans Agent
- 【Android Studio】Android Studio安装时提示找不到JDK
- 【转】Python装饰器与面向切面编程
- 第6课时:python之常用操作符
- CF 615E Hexagons
- python 二维码
- Java Web开发技术应用——过滤器
- Java我的高效编程之环境搭建
- Java学习笔记
- FTP主动模式与被动模式
- Openfire开发配置,Openfire源代码配置,OpenFire二次开发配置