//js  ajax
function Ajax(url,type,data,comFun,sucFun,errFun)
{
//1、创建XMLHttpRequest对象
var xmlHttpRequest; if(window.ActiveXObject) //IE低版本
{
xmlHttpRequest = new ActiveXObject("Microsoft.XMLHTTP");
}
else if (window.XMLHttpRequest)//Firefox等
{
xmlHttpRequest = new XMLHttpRequest();
} //2、创建连接
xmlHttpRequest.open(type, url, true); //处理post请求参数
var params = null;
if(type.toLowerCase()=="post")
{
//post方式要设置请求类型
xmlHttpRequest.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded'); if(typeof data=="string")
{
params = data;
}
else
{
var arr = [];
for(var k in data)
{
arr.push(k+"="+data[k]);
}
params = arr.join("&");
}
}
else
{
//如果是get请求 send方法中的参数为null
params = null;
} //3、发送请求
xmlHttpRequest.send(params); //4、接受服务器响应结果
xmlHttpRequest.onreadystatechange = function()
{
// readyState值说明
// 0,初始化,XHR对象已经创建,还未执行open
// 1,载入,已经调用open方法,但是还没发送请求
// 2,载入完成,请求已经发送完成
// 3,交互,可以接收到部分数据 if (xmlHttpRequest.readyState == 4) {
//complete: 请求完成时执行的函数
//complete();
comFun("请求完成......"); // status值说明
// 200:成功
// 404:没有发现文件、查询或URl
// 500:服务器产生内部错误 if(xmlHttpRequest.status == 200)
{
//success: 请求成功时执行的函数
//success();
var text = xmlHttpRequest.responseText;
sucFun(text);
}
else
{
//error: 请求失败时执行的函数
//error();
errFun("服务器错误......");
}
} }
}

最新文章

  1. 升级为iOS9后,默认请求类型为https,如何使用http进行请求会报错(引用他人的)
  2. (转载)JavaWeb学习总结(五十一)——邮件的发送与接收原理
  3. jdk(多版本)安装注意!
  4. ucos中的三种临界区管理机制
  5. 原生js-焦点图轮播
  6. Java并发之ThreadPoolExecutor 线程执行服务
  7. Deepin下phpunit安装,以及执行过程中所遇到的问题
  8. Ajax在调用含有SoapHeader的webservice方法
  9. 101 个 MySQL 的调节和优化的提示(根据实际情况调整,有些已经不适用)
  10. mysql 导入大数据的秘籍
  11. ZooKeeper(3.4.5) 使用Curator监听事件
  12. oracle模糊查询效率提高
  13. PDO事务管理DEMO
  14. VR元年,VR虚拟现实这只风口上的猪有怎样的变化?
  15. ECS的配置与使用
  16. java:根据利润表计算奖金所得
  17. Echarts Map 值域为小数的原因
  18. NPM安装依赖速度慢问题
  19. mysql-定时对表分区
  20. POJ 1904 King's Quest tarjan

热门文章

  1. Python 零基础 快速入门 趣味教程 (咪博士 海龟绘图 turtle) 6. 条件
  2. js數據類型
  3. Java生成多数值二元运算结果集
  4. Codeforces Round #419 (Div. 2) B. Karen and Coffee
  5. 自学Zabbix12.4 Zabbix命令-zabbix_sender
  6. 洛谷 P4211 [LNOI2014]LCA 解题报告
  7. 在Android中通过导入静态数据库来提高应用第一次的启动速度
  8. Unity3d-AngryBots实例解读
  9. NOIP2016 巨凉无比的感言
  10. P1339 热浪 最短路径模板题