<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>ajax</title>
<script type="text/javascript"><!--
function Ajax() {
var xmlHttpReq = null;
if (window.XMLHttpRequest) {
xmlHttpReq = new XMLHttpRequest();
} else {
if (window.ActiveXObject) {
var versions = ['Microsoft.XMLHTTP', 'MSXML.XMLHTTP', 'Microsoft.XMLHTTP',
'Msxml2.XMLHTTP.7.0', 'Msxml2.XMLHTTP.6.0',
'Msxml2.XMLHTTP.5.0', 'Msxml2.XMLHTTP.4.0',
'MSXML2.XMLHTTP.3.0', 'MSXML2.XMLHTTP'];
for(var i=0; i<versions.length; i++) {
try {
xmlHttpReq = new ActiveXObject(versions[i]);
if(xmlHttpReq) {
break;
}
} catch(e) {}
}
}
}
var handler = null;
this.invoke = function (mode, url, value, _handler) {
handler = _handler;
if(mode == 'get') {
var querystring = url+'?'+value+'&'+Math.random();
if(window.XMLHttpRequest) {
xmlHttpReq.open('GET', querystring);
xmlHttpReq.onreadystatechange = this.callback;
xmlHttpReq.send(null);
} else {
xmlHttpReq.open('GET', querystring, true);
xmlHttpReq.onreadystatechange = this.callback;
xmlHttpReq.send();
}
}
else if(mode == 'post') {
xmlHttpReq.open('POST', url);
xmlHttpReq.onreadystatechange = this.callback;
xmlHttpReq.setRequestHeader('Content-Type',
'application/x-www-form-urlencoded');
xmlHttpReq.send(value);
}
};
this.callback = function () {
if (xmlHttpReq.readyState == 4) {
if (xmlHttpReq.status == 200) {
handler(xmlHttpReq.responseText);
} else {
alert("请刷新页面!");
}
}
};
}
// 调用示例
new Ajax().invoke(
"get",
"/index.php",
'name=hello',
run
);
function run(response) {
alert(response);
}
// --></script>
</head>
<body>
</body>
</html>
index.php
<?php
echo $_GET['name'];
// echo $_POST['name'];
?>
兼容 IE、firefox、chrome 等浏览器。
var querystring = url+'?'+value+'&'+Math.random();,Math.random() 主要是进行 GET 请求时为了防止缓存。
发送请求时,对数据最好进行 urlencode 编码。
示例代码:点击下载
By xhttp.cn 整理:http://www.xhttp.cn/2010/06/18
分享到:
相关推荐
ajax轻量级封装,简单实用,带有详细注释。 一、同一个对象可以发送多个请求,按顺序执行请求,有简单的超时机制,httpXMLRequest对象复用,无序的可以建立多个对象发送请求来实现; 二、兼容IE,FF,支持同步、异步...
今天找寻AJAX类,使用起来不是很方便,算了自己封装一个 注:简单封装,使用简单
ajax代码及简单封装,适用于。net平台
封装了ajax的 get post 提交和同步异步提交。 简单易懂实用。
NULL 博文链接:https://jinghua.iteye.com/blog/345894
JavaScript-初识ajax、ajax封装、及json简单实战案例(下)
一个简单的ajax封装代码以及一个实例的增删改查的实现
对ajax进行了简单的封装,如果不想使用过于复杂的框架,可以使用该工具进行ajax的相关操作~~
内含ajax最简单的示例和已经封装好的库,可以直接拷贝使用
简单的把Ajax请求封装了一下 目前只考虑了请求文本的情况。 超时处理。 某一时刻只能处理一次请求。
小程序使用es6封装ajax源码案例,使用简单,没用过es6的也能看懂了
一个很好用的ajax封装包,只需要简单配置一个dwr.xml和配置下web.xml就可以简单实用ajax
仿jQuery选择器 取值设值val,html函数,show,hidden显示隐藏函数,fadeIn,fadeOut淡出函数,ajax简单封装,表单序列化... == 如何使用sqlite? 如何实现事务处理? 如何实现URL映射? 如何实现参数注入? 如何实现对象转...
这对我们来说不难,封装成一个函数。 var createAjax = function() { var xhr = null; try { //IE系列浏览器 xhr = new ActiveXObject("microsoft.xmlhttp"); } catch (e1) { try { //非IE浏览器 xhr = new ...
简单的ajax利用jquery的封装方法实现get和post两种提交方式
博文链接:https://paofan.iteye.com/blog/81943
如果是做基于广域网应用的web程序,这个ajax类最合适不过了,ajax功能全,简单好用堪比jquery,最重要的是,它无比轻量级,与jquery、extjs等框架的ajax相比,它小多了,可大大减轻网络传输压力,有效提升web访问...
该方法封装了上传的功能,使得前后端接口对接变的更简单
主要介绍了javascript实现简单的ajax封装功能,结合实例形式分析了ajax基本功能与操作实现技巧,需要的朋友可以参考下