function ajax(options)
{
options=options||{};
options.data=options.data||{};
options.type=options.type||'get';
options.timeout=options.timeout||0;
options.data.t=Math.random();
var arr=[];
for(var i in options.data)
{
arr.push(i+'='+encodeURIComponent(options.data[i]));
}
var str=arr.join('&');
if(window.XMLHttpRequest)
{
var oAjax=new XMLHttpRequest();
}
else
{
var oAjax=new ActiveXObject('Microsoft.XMLHTTP');
}
if(options.type=='get')
{
oAjax.open('get', options.url+'?'+str, true);
oAjax.send();
}
else
{
oAjax.open('post', options.url, true);
oAjax.setRequestHeader('content-type', 'application/x-www-form-urlencoded');
oAjax.send(str);
}
oAjax.onreadystatechange=function ()
{
if(oAjax.readyState==4)
{
if(oAjax.status>=200 && oAjax.status<300 || oAjax.status==304)
{
options.success && options.success(eval('('+oAjax.responseText+')'));
}
else
{
options.error && options.error();
}
}
};
if(options.timeout)
{
setTimeout(function (){
oAjax.abort();
}, options.timeout);
}
}