92 строки
2.0 KiB
JavaScript
92 строки
2.0 KiB
JavaScript
//xmlHttpConnect
|
|
//xH.conn(URL,Method,Vars,Function done) - assync
|
|
//xH.syn(URL,Method,Vars) - sync, return result query
|
|
function xH()
|
|
{
|
|
var xmlhttp, bComplete = false;
|
|
try
|
|
{
|
|
xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
|
|
}catch (e)
|
|
{
|
|
try
|
|
{
|
|
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
|
|
}catch (e)
|
|
{
|
|
try
|
|
{
|
|
xmlhttp = new XMLHttpRequest();
|
|
}catch (e)
|
|
{
|
|
xmlhttp = false;
|
|
}
|
|
}
|
|
}
|
|
if (!xmlhttp) return null;
|
|
this.syn = function(sURL, sMethod, sVars)
|
|
{
|
|
if (!xmlhttp) return false;
|
|
sMethod = sMethod.toUpperCase();
|
|
if (sMethod == "GET")
|
|
{
|
|
xmlhttp.open(sMethod,sURL+"?"+sVars,false);
|
|
xmlhttp.send(null);
|
|
if (xmlhttp.status == 200)
|
|
{
|
|
return xmlhttp.responseText;
|
|
}
|
|
return false;
|
|
}
|
|
else
|
|
{
|
|
xmlhttp.open(sMethod, sURL, false);
|
|
xmlhttp.setRequestHeader("Method", "POST "+sURL+" HTTP/1.1");
|
|
xmlhttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
|
|
xmlhttp.send(sVars);
|
|
if (xmlhttp.status == 200)
|
|
{
|
|
return xmlhttp.responseText;
|
|
}
|
|
return false;
|
|
}
|
|
}
|
|
this.conn = function(sURL, sMethod, sVars, fnDone)
|
|
{
|
|
if (!xmlhttp) return false;
|
|
bComplete = false;
|
|
sMethod = sMethod.toUpperCase();
|
|
try
|
|
{
|
|
if (sMethod == "GET")
|
|
{
|
|
xmlhttp.open(sMethod, sURL+"?"+sVars, true);
|
|
sVars = "";
|
|
}
|
|
else
|
|
{
|
|
xmlhttp.open(sMethod, sURL, true);
|
|
xmlhttp.setRequestHeader("Method", "POST "+sURL+" HTTP/1.1");
|
|
xmlhttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
|
|
xmlhttp.send(sVars);
|
|
}
|
|
xmlhttp.onreadystatechange = function()
|
|
{
|
|
if (xmlhttp.readyState == 4 && !bComplete)
|
|
{
|
|
bComplete = true;
|
|
fnDone(xmlhttp);
|
|
}
|
|
};
|
|
xmlhttp.send(sVars);
|
|
}
|
|
catch(z)
|
|
{
|
|
return false;
|
|
}
|
|
return true;
|
|
};
|
|
return this;
|
|
}
|
|
|