Files
FHC-Core/content/phpRequest.js.php
Andreas Österreicher 922892aa12 Kontakt Modul FAS Online
2007-06-18 13:39:05 +00:00

159 lines
3.3 KiB
PHP

/**
*
* HTTP Request Klasse
* stammt aus Artikel von phpPatterns (http://www.phppatterns.com/index.php/article/articleview/82/1/2/)
* leicht modifiziert
*/
//Configuration Details
//const SERVER_URL = "/xul/server.php";
// wir uebergeben das als Parameter
//End Configuration
function doLogin()
{
var username = document.getElementById('loginUser').value;
var password = document.getElementById('loginPass').value;
req = new phpRequest();
req.add('username',username);
req.add('password',password);
var response = req.execute();
alert(response);
}
//Start phpRequest Object
function phpRequest(server_url,uname,passw)
{
this.parms = new Array();
this.parmsIndex = 0;
this.execute = phpRequestExecute;
this.executePOST = phpRequestExecutePOST;
this.add = phpRequestAdd;
this.server = server_url;
this.uname = uname;
this.passw = passw;
}
function phpRequestAdd(name,value)
{
this.parms[this.parmsIndex] = new Pair(name,value);
this.parmsIndex++;
}
function phpRequestExecute()
{
var targetURL = this.server;
try {
var httpRequest = new XMLHttpRequest();
}catch (e){
alert('Error creating the connection!');
return;
}
try {
var txt = "?";
for(var i in this.parms) {
txt = txt+'&'+this.parms[i].name+'='+encodeURIComponent(this.parms[i].value);
}
//alert('sende '+txt);
//Two options here, only uncomment one of these
//GET REQUEST
httpRequest.open("GET", targetURL+txt, false, '','');
//POST REQUEST EXAMPLE
/*
httpRequest.open("POST", targetURL+txt, false, null, null);
httpRequest.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
*/
httpRequest.send('');
}catch (e){
alert('An error has occured calling the external site: '+e);
return false;
}
switch(httpRequest.readyState) {
case 1,2,3:
alert('Bad Ready State: '+httpRequest.status);
return false;
break;
case 4:
if(httpRequest.status !=200) {
alert('The server respond with a bad status code: '+httpRequest.status);
return false;
} else {
var response = httpRequest.responseText;
}
break;
}
return response;
}
function phpRequestExecutePOST()
{
var targetURL = this.server;
try
{
var httpRequest = new XMLHttpRequest();
}
catch (e)
{
alert('Error creating the connection!');
return;
}
try
{
var txt = "";
for(var i in this.parms)
{
txt = txt+'&'+this.parms[i].name+'='+encodeURIComponent(this.parms[i].value);
}
//alert('sende '+txt);
//POST REQUEST
httpRequest.open("POST", targetURL, false, '', '');
httpRequest.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
httpRequest.send(txt);
}
catch (e)
{
alert('An error has occured calling the external site: '+e);
return false;
}
switch(httpRequest.readyState)
{
case 1,2,3:
alert('Bad Ready State: '+httpRequest.status);
return false;
break;
case 4:
if(httpRequest.status !=200)
{
alert('The server respond with a bad status code: '+httpRequest.status);
return false;
}
else
{
var response = httpRequest.responseText;
}
break;
}
return response;
}
function Pair(name,value)
{
this.name = name;
this.value = value;
}