Some experiments with web applications
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

91 lines
2.2 KiB

/**
* Created with JetBrains WebStorm.
* User: torsten
* Date: 28.03.13
* Time: 23:07
* To change this template use File | Settings | File Templates.
*/
var gcf = {
// decode special characters with their utf-8 representation
decodeHtml : function (token) {
var i,
y,
start = [33, 58, 91, 123, 161],
stop = [47, 64, 96, 126, 255],
startLength = start.length;
for (y = 0; y < startLength; y++) {
for (i = start[y]; i <= stop[y]; i++) {
token = token.replace("&#" + i +";", String.fromCharCode(255));
}
}
return token;
},
// xmlhttp object function
getHTTPObject : function () {
// debug log
if (DEBUG === 1) {console.log("xml http object function");}
// variable definitions
var xhr;
// check for availibility if xmlhttprequest object
if(window.XMLHttpRequest) {
xhr = new XMLHttpRequest();
} else if(window.ActiveXObject) {
xhr = new ActiveXObject("Msxml2.XMLHTTP");
}
return xhr;
},
// ajax call function
ajaxCall : function (dataUrl, outputElement, callback, responseType) {
// debug log
if (DEBUG === 1) {console.log("ajax function");}
// variable definitions
var response,
request = this.getHTTPObject(); // get the xmlhttp object which is supported
outputElement.innerHTML = "Lade Daten ...";
request.onreadystatechange = function() {
if(request.readyState === 4 && request.status === 200) {
//save ajax response
if (responseType === "json") {
response = JSON.parse(request.responseText);
} else if (responseType === "xml") {
response = request.responseXML;
} else {
response = request.responseText;
}
// check if callback is a function
if(typeof callback === "function") {
callback(response);
}
}
};
request.open("get", dataUrl, true);
request.send(null);
}
}