刚登录163.com,随便看了下.163积分换网盘中的js代码。某些内容中不需要庞大的ajax框架,用这样简单的就好。通用。
下载地址:http://invite.mail.163.com/netdisk/js/xmlhttpv1.js http://invite.mail.163.com/netdisk/js/rpc.js
var XMLHttp = {
_objPool: [],
_getInstance: function (){
for (var i = 0; i < this._objPool.length; i ++){
if (this._objPool[i].readyState == 0 || this._objPool[i].readyState == 4){
return this._objPool[i];
}
}
this._objPool[this._objPool.length] = this._createObj();
return this._objPool[this._objPool.length - 1];
},
_createObj: function (){
if (window.XMLHttpRequest){
var objXMLHttp = new XMLHttpRequest();
}
else{
var MSXML = ['MSXML2.XMLHTTP.5.0', 'MSXML2.XMLHTTP.4.0', 'MSXML2.XMLHTTP.3.0', 'MSXML2.XMLHTTP', 'Microsoft.XMLHTTP'];
for(var n = 0; n < MSXML.length; n ++){
try{
var objXMLHttp = new ActiveXObject(MSXML[n]);
break;
}
catch(e){
}
}
}
if (objXMLHttp.readyState == null){
objXMLHttp.readyState = 0;
objXMLHttp.addEventListener("load", function (){
objXMLHttp.readyState = 4;
if (typeof objXMLHttp.onreadystatechange == "function"){
objXMLHttp.onreadystatechange();
}
}, false);
}
return objXMLHttp;
},
sendReq: function (method, url, data, callback,requesttype){
var objXMLHttp = this._getInstance();
with(objXMLHttp){
try{
if (url.indexOf("?") > 0){
url += "&randnum=" + Math.random();
}
else{
url += "?randnum=" + Math.random();
}
open(method, url, true);
setRequestHeader('Content-Type', 'application/x-www-form-urlencoded; charset=UTF-8');
send(data);
onreadystatechange = function (){
if (objXMLHttp.readyState == 4 && (objXMLHttp.status == 200 || objXMLHttp.status == 304))
{
callback(objXMLHttp,requesttype);
}
}
}
catch(e){
alert(e);
}
}
}
};
使用代码:
function loadjf(){
var url="http://invite.mail.163.com/netdisk/nd?jFenType=0";
XMLHttp.sendReq('GET', url, null, load_jfcallback, null);
}
function load_jfcallback(obj,reqdata){
if(obj==null){
alert("系统繁忙,加载积分失败,请你稍后再试#Err0");
return;
}
var ret=obj.responseText;
if(ret.indexOf("retcode=timeout")==0){
alert("会话失效了,请你重新登录操作");
return;
}
if(ret=="-1"){
alert("加载积分失败,不过你还可以继续尝试升级网盘#Err1");
return;
}
document.getElementById("jf").innerHTML=ret;
}