ajax库类以及使用方法

Posted swjieyi

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ajax库类以及使用方法相关的知识,希望对你有一定的参考价值。

function Ajax(recvType)
var aj=new Object();
aj.recvType=recvType ? recvType.toUpperCase() : 'html' //HTML XML
aj.targetUrl='';
aj.sendString='';
aj.resultHandle=null;
aj.createXMLHttpRequest=function()
var request=false;
//window对象中有XMLHttpRequest存在就是非IE,包括(IE7,IE8)
if(window.XMLHttpRequest)
request=new XMLHttpRequest();
if(request.overrideMimeType)
request.overrideMimeType("text/xml");

//window对象中有ActiveXObject属性存在就是IE
else if(window.ActiveXObject)
var versions=['Microsoft.XMLHTTP', 'MSXML.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
request=new ActiveXObject(versions[i]);
if(request)
return request;

catch(e)
request=false;



return request;

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);





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();




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;

//使用方法

<script type="text/javascript">
var ajax = Ajax(); // 实例化对象,默认为 HTTP,如果传入 XML,返回 XML 对象
// Ajax 的 get 方法使用说明
/**
* function(targetUrl, resultHandle)
* @param string targetUrl 传递过去的 URL 地址
* @param string resultHandle 回调函数,可选项
*/
ajax.get('test.php?name=liruxing&email=liruxing1715@sina.com', function(data)
eval("var obj="+data);
alert(obj.name);
alert(obj.email);
);

// Ajax 的 post 方法使用说明
/**
* function(targetUrl, sendString, resultHandle)
* @param string targetUrl 传递过去的 URL 地址
* @param string sendString 参数值
* @param string resultHandle 回调函数,可选项
*/
ajax.post('test.php', 'name=liruxing&email=liruxing1715@sina.com', function(data)
eval("var obj="+data);
alert(obj.name);
alert(obj.email);
)

// post 第二种格式,第二个参数为 Json 格式
ajax.post('test.php', name:'李茹星',email:'liruxing1715@sina.com', function(data)
eval("var obj="+data);
alert(obj.name);
alert(obj.email);
)
</script>




以上是关于ajax库类以及使用方法的主要内容,如果未能解决你的问题,请参考以下文章

何时使用 json 以及何时使用 jsonp 与 jquery $.ajax?

如何在存储库类中使用 IAsyncEnumerable

如何使用 kotlinx.serialization 将库类序列化为 Protobuf?

Sonata 管理包,如何使用实体存储库类

Gradle 在使用 Proguard 编译发布版本时无法找到一些引用和库类

如何制作 UIViewController 库类?