好用的AJAX类代码分享

(编辑:jimmy 日期: 2024/11/12 浏览:2)

ajax.js
-------------------------[ajax类]--------------------------
复制代码 代码如下:
function Ajax(recvType){
var aj=new Object();
aj.recvType=recvType ? recvType.toUpperCase() : 'HTML'; //向形参中传递的文件类型
aj.targetUrl='';
aj.sendString='';
aj.resultHandle=null;
/*创建XMLHttpRequest对象*/
aj.createXMLHttpRequest=function(){
var xmlHttp = false;
if(window.XMLHttpRequest){ //在非IE中创建XMLHttpRequest对象
xmlHttp = new XMLHttpRequest();
}else if(window.ActiveXObject){
try{
xmlHttp = new ActiveXObject("Msxml2.XMLHTTP"); //按新版IE创建
}catch(error1){ //创建失败
try{
xmlHttp = new ActiveXobject("Microsoft.XMLHttp"); //按老版IE创建
}catch(error2){ //创建失败
xmlHttp = false;
}
}
}
return xmlHttp;
}
aj.XMLHttpRequest=aj.createXMLHttpRequest();
/*处理服务器的响应*/
aj.processHandle=function(){
if(aj.XMLHttpRequest.readyState == 4){
if(aj.XMLHttpRequest.status == 200){
if(aj.recvType=="HTML")
aj.resultHandle(aj.XMLHttpRequest.responseText);
else if(aj.recvType=="XML")
aj.resultHandle(aj.XMLHttpRequest.responseXML);
}
}
}
/*定义使用get方法传递的方法*/
aj.get=function(targetUrl, resultHandle){
aj.targetUrl=targetUrl;
if(resultHandle!=null){
aj.XMLHttpRequest.onreadystatechange=aj.processHandle;
aj.resultHandle=resultHandle;
}
if(window.XMLHttpRequest){
aj.XMLHttpRequest.open("get", aj.targetUrl);
aj.XMLHttpRequest.send(null);
}else{
aj.XMLHttpRequest.open("get", aj.targetUrl, true);
aj.XMLHttpRequest.send();
}
}
/*定义使用post方法传递的方法*/
aj.post=function(targetUrl, sendString, resultHandle){
aj.targetUrl=targetUrl;
if(typeof(sendString)=="object"){
var str="";
for(var pro in sendString){
str+=pro+"="+sendString[pro]+"&";
}
aj.sendString=str.substr(0, str.length-1);
}else{
aj.sendString=sendString;
}
if(resultHandle!=null){
aj.XMLHttpRequest.onreadystatechange=aj.processHandle;
aj.resultHandle=resultHandle;
}
aj.XMLHttpRequest.open("post", targetUrl);
aj.XMLHttpRequest.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
aj.XMLHttpRequest.send(aj.sendString);
}
return aj;
}

-------------------------[使用方法]--------------------------
useAjax.html
复制代码 代码如下:
<script src="/UploadFiles/2021-04-02/ajax.js"><script language="javascript" type="text/javascript">
var ajax=Ajax();
/*get使用方式*/
ajax.get("server.php?name=zhangsan&phone=778", function(data){
alert(data); //data为从服务器端读取的数据
});
/*第一种post使用方式*/
/* ajax.post("server.php", "name=ligang&phone=222", function(data){
alert(data);
});
*/
/*第二种post使用方式*/
/* ajax.post("server.php", {name:"tom",phone:"456"},function(data){
alert(data);
});
*/
</script>
server.php
<?php
header("Content-type:text/html;charset=gb2312");
$str = "姓名:{$_GET["name"]}\n电话:{$_GET["phone"]}";
echo $str;
?>

在浏览器中输入useAjax.html的地址,若出现

好用的AJAX类代码分享

则Ajax方法使用正确

一句话新闻
一文看懂荣耀MagicBook Pro 16
荣耀猎人回归!七大亮点看懂不只是轻薄本,更是游戏本的MagicBook Pro 16.
人们对于笔记本电脑有一个固有印象:要么轻薄但性能一般,要么性能强劲但笨重臃肿。然而,今年荣耀新推出的MagicBook Pro 16刷新了人们的认知——发布会上,荣耀宣布猎人游戏本正式回归,称其继承了荣耀 HUNTER 基因,并自信地为其打出“轻薄本,更是游戏本”的口号。
众所周知,寻求轻薄本的用户普遍更看重便携性、外观造型、静谧性和打字办公等用机体验,而寻求游戏本的用户则普遍更看重硬件配置、性能释放等硬核指标。把两个看似难以相干的产品融合到一起,我们不禁对它产生了强烈的好奇:作为代表荣耀猎人游戏本的跨界新物种,它究竟做了哪些平衡以兼顾不同人群的各类需求呢?