//-----------------------------
//-----XMLHttpRequest----------
/*****************************************************
AJAX buzzword :)
This is used for sending http_request
Remember that cross-domain http_request doesn't work
if you want crossdomain http_request you can
eg. create php script that gets data from remote domain (curl, socket)
and load retrieved data with http_request
//create new object
request = new XMLObjRequest();
//set response actions
request.http_onResponse = function(responseText){alert('result is' + responseText)}
request.http_onResponseFail = function(){alert('FAILED!')}
//run request. Get data should be part of URL
//post data is send as a second, optional paremeter
request.requestXMLDoc('http://www.mynthon.net' [, 'post_var1=0&post_var2=x']);
*****************************************************/
XMLObjRequest = function(){
this. http_request = false;
this.http_onResponse = function(t){}
this.http_onResponseFail = function(){alert('There was a problem with the request.');}
XREQ_Container = function(){
this.http_onResponse = function(t){};
this.http_onResponseFail = function(){}
}
XREQ_Action = new XREQ_Container();
this.requestXMLDoc = function(url, data) {
this.http_request = false;
if (window.XMLHttpRequest) { // Mozilla, Safari,...
http_request = new XMLHttpRequest();
if (http_request.overrideMimeType) {
http_request.overrideMimeType('text/xml');
}
} else if (window.ActiveXObject) {// IE
try {
http_request = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
try {
http_request = new ActiveXObject("Microsoft.XMLHTTP");
} catch (e) {}
}
}
if (!http_request) {
alert('Cannot create an XMLHTTP instance');
return false;
}
XREQ_Action.http_onResponse = this.http_onResponse;
XREQ_Action.http_onResponseFail = this.http_onResponseFail;
http_request.onreadystatechange = this.setXMLObj;
var mtd = (data==null ? 'GET' : 'POST');
http_request.open(mtd, url, true);
if(mtd == 'POST'){
http_request.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');//head dla posta
http_request.send(data);
}else{
http_request.send(null);
}
}
this.setXMLObj = function() {
if (http_request.readyState == 4) {
if (http_request.status == 200) {
resp = http_request.responseText;
XREQ_Action.http_onResponse(resp);
} else {
XREQ_Action.http_onResponse();
}
}
}
}