Browse Source

moved ajaxCall() & getHTTPObject() into seperate javascript library 'gcf.js'

master
T. Meissner 11 years ago
parent
commit
51238e057b
3 changed files with 72 additions and 60 deletions
  1. +1
    -0
      index.html
  2. +69
    -0
      scripts/gcf.js
  3. +2
    -60
      scripts/haltestellen.js

+ 1
- 0
index.html View File

@ -21,6 +21,7 @@
<div id="output"></div>
<script src="scripts/gcf.js"></script>
<script src="scripts/haltestellen.js"></script>
</body>


+ 69
- 0
scripts/gcf.js View File

@ -0,0 +1,69 @@
/**
* Created with JetBrains WebStorm.
* User: torsten
* Date: 28.03.13
* Time: 23:07
* To change this template use File | Settings | File Templates.
*/
gcf = {
// 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);
}
}

+ 2
- 60
scripts/haltestellen.js View File

@ -3,64 +3,6 @@
var DEBUG;
// xmlhttp object function
function getHTTPObject() {
// 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
function ajaxCall(dataUrl, outputElement, callback, responseType) {
// debug log
if (DEBUG === 1) {console.log("ajax function");}
// variable definitions
var response,
request = 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);
}
// wrap all in anonymous function to get out of global scope
(function() {
@ -102,7 +44,7 @@ function ajaxCall(dataUrl, outputElement, callback, responseType) {
hstUrl = encodeURI(serverUrl + "abfahrtsmonitor.py?query=abfahrten.do&ort=dresden&hst=" + hstName);
// get the data from the server with an ajax call
ajaxCall(hstUrl, target, haltestelle.processAbfahrten, "text");
gcf.ajaxCall(hstUrl, target, this.processAbfahrten, "text");
},
@ -188,7 +130,7 @@ function ajaxCall(dataUrl, outputElement, callback, responseType) {
hstUrl = encodeURI(serverUrl + "abfahrtsmonitor.py?query=haltestelle.do&ort=dresden&hst=" + hstName);
// get the data from the server with an ajax call
ajaxCall(hstUrl, target, haltestelle.processHaltestellen, "text");
gcf.ajaxCall(hstUrl, target, this.processHaltestellen, "text");
},


Loading…
Cancel
Save