AJAX 随记
更新时间:2009年06月01日 00:57:57 作者:
使用AJAX可以提供无页面刷新便可以从后台更新页面数据,因此可以做出类似桌面应用的效果,但是每用一次AJAX便会用到大量的Javascript语句,今天我把整理了一下,使它变得结构化一些。
首先是一个创建AJAX的函数:
var http_request=null;
function create_ajax(){
http_request = false;
//开始初始化XMLHttpRequest对象
if(window.XMLHttpRequest) { //Mozilla 浏览器
http_request = new XMLHttpRequest();
if (http_request.overrideMimeType) {//设置MiME类别
http_request.overrideMimeType('text/xml');
}
}
else if (window.ActiveXObject) { // IE浏览器
try {
http_request = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
try {
http_request = new ActiveXObject("Microsoft.XMLHTTP");
} catch (e) {}
}
}
if (!http_request) { // 异常,创建对象实例失败
window.alert("不能创建XMLHttpRequest对象实例.");
return false;
}
}
然后是调用这个函数来处理AJAX
var obj1;
function get_ajax(url,obj) {//初始化、指定处理函数、发送请求的函数
obj1=obj;
create_ajax();
http_request.onreadystatechange =processobj; // 确定发送请求的方式和URL以及是否同步执行下段代码
http_request.open("POST", url, true);
http_request.send(null);
}
function processobj(){
document.getElementById(obj1).innerHTML="Loading...";
if (http_request.readyState == 4) { // 判断对象状态
if (http_request.status == 200) { // 信息已经成功返回,开始处理信息
document.getElementById(obj1).innerHTML=http_request.responseText;
} else { //页面不正常
document.getElementById(obj1).innerHTML="loading error.";
}
}
}
以上就是AJAX的主体,再在你需要用AJAX的页面把这段Javascript包含进去,就可以方便的调用了:
<script type="text/javascript" src="ajax.js" src="ajax.js" ></script>
Welcome.
<div id="d1" onclick="get_ajax('ajax/get1.jsp','d1');">d1</div>
<div id="d2" onclick="get_ajax('ajax/get2.jsp','d2');">d2</div>
<div id="a">d2</div>
'ajax/get1.jsp'和'ajax/get2.jsp',是两个后台获取数据的页面,这样,一点击d1,get1.jsp就会被动态的加载进来,非常方便,当然这只是一个最基本的功能的模型,还可以在上面加上很多功能,大家自由发挥吧。
复制代码 代码如下:
var http_request=null;
function create_ajax(){
http_request = false;
//开始初始化XMLHttpRequest对象
if(window.XMLHttpRequest) { //Mozilla 浏览器
http_request = new XMLHttpRequest();
if (http_request.overrideMimeType) {//设置MiME类别
http_request.overrideMimeType('text/xml');
}
}
else if (window.ActiveXObject) { // IE浏览器
try {
http_request = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
try {
http_request = new ActiveXObject("Microsoft.XMLHTTP");
} catch (e) {}
}
}
if (!http_request) { // 异常,创建对象实例失败
window.alert("不能创建XMLHttpRequest对象实例.");
return false;
}
}
然后是调用这个函数来处理AJAX
复制代码 代码如下:
var obj1;
function get_ajax(url,obj) {//初始化、指定处理函数、发送请求的函数
obj1=obj;
create_ajax();
http_request.onreadystatechange =processobj; // 确定发送请求的方式和URL以及是否同步执行下段代码
http_request.open("POST", url, true);
http_request.send(null);
}
function processobj(){
document.getElementById(obj1).innerHTML="Loading...";
if (http_request.readyState == 4) { // 判断对象状态
if (http_request.status == 200) { // 信息已经成功返回,开始处理信息
document.getElementById(obj1).innerHTML=http_request.responseText;
} else { //页面不正常
document.getElementById(obj1).innerHTML="loading error.";
}
}
}
以上就是AJAX的主体,再在你需要用AJAX的页面把这段Javascript包含进去,就可以方便的调用了:
复制代码 代码如下:
<script type="text/javascript" src="ajax.js" src="ajax.js" ></script>
Welcome.
<div id="d1" onclick="get_ajax('ajax/get1.jsp','d1');">d1</div>
<div id="d2" onclick="get_ajax('ajax/get2.jsp','d2');">d2</div>
<div id="a">d2</div>
'ajax/get1.jsp'和'ajax/get2.jsp',是两个后台获取数据的页面,这样,一点击d1,get1.jsp就会被动态的加载进来,非常方便,当然这只是一个最基本的功能的模型,还可以在上面加上很多功能,大家自由发挥吧。
相关文章
JQuery ajax返回JSON时的处理方式 (三种方式)
json数据是一种经型的实时数据交互的数据存储方法,使用到最多的应该是ajax与json配合使用了,下面由脚本之家小编给大家分享JQuery ajax返回JSON时的处理方式 (三种方式),需要的朋友可以参考下2015-09-09jQuery+Ajax+PHP实现“喜欢”评级功能附源码下载
有同学问我如何实现一个像美丽说那样的“我喜欢”评级功能,当用户看到自己喜欢的图片或文章时,点击“红心”按钮,系统会自动记录用户的点击,并将总数加1。这样再结合不同的系统,可以将此功能应用到投票或收藏商品中去(如淘宝的收藏商品)。2015-10-10jQuery ajax中使用serialize()方法提交表单数据示例
使用jQuery ajax的serialize() 方法表单序列化为键值对(key1=value1&key2=value2…)后提交,下面是使用serialize()序列化表单的实例,感兴趣的朋友可以参考下2013-10-10
最新评论