Hallo, Ik heb het volgende scriptje geschreven voor mijn ajax requests:
[js]// Je moet de functie de volgende waarden voeren:
// url - de url van het script dat we willen gebruiken
// elementen - het id waar we de pagina in willen laden (of array)
// laadbericht - tijdelijke inhoud v/d elementen
function ajaxObj(methode, url, elementen, laadbericht){
this.obj = new Object();
this.methode = methode;
this.url = url;
this.laadnaar = elementen;
if(laadbericht){
if(typeof(this.laadnaar) != 'object'){
document.getElementById(this.laadnaar).innerHTML = laadbericht;
} else{
for(i in this.laadnaar){
document.getElementById(this.laadnaar).innerHTML = laadbericht;
}
}
}
this.obj = null;
this.maak();
this.verwerk();
this.stuur();
}
ajaxObj.prototype.maak = function(){
try{
xmlHttp = new XMLHttpRequest();
} catch(e){
try{
xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
} catch(e){
try{
xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
} catch(e){
return false;
}
}
}
this.obj = xmlHttp;
}
ajaxObj.prototype.verwerk = function(){
var o = this.obj;
var naar = this.laadnaar;
o.onreadystatechange = function(){
if(o.readyState == 4){
if(o.responseText == 'bestaatniet'){
alert('De pagina die u probeerde te laden bestaat niet.');
} else if(o.responseText == 'geentoegang'){
alert('U heeft geen toegang tot de pagina die u probeerde te laden.');
} else{
if(typeof(naar) != 'object'){
document.getElementById(naar).innerHTML = o.responseText;
} else{
for(i in naar){
document.getElementById(naar).innerHTML = o.responseText;
}
}
}
}
}
}
ajaxObj.prototype.stuur = function(){
if(this.methode == 'get'){
this.obj.open('get', this.url, true);
this.obj.send(null);
} else{
this.obj.open(this.methode, this.url, true);
http.setRequestHeader('Content-type', 'application/x-www-form-urlencoded');
http.setRequestHeader('Content-length', this.methode.length);
http.setRequestHeader('Connection', 'close');
this.obj.send(this.methode);
}
}[/js]
Het probleem wat ik ondervind is dat ik een pagina laad (new ajaxObj('get', 'blabla.php', 'main')
en er staat javascript op de pagina die hij ophaalt dan voert hij deze javascript niet uit. Wat is een manier om te zorgen dat hij de javascript die hij dan ophaalt toch nog uitvoerd?
Mvg,
Timothy de Vries
[js]// Je moet de functie de volgende waarden voeren:
// url - de url van het script dat we willen gebruiken
// elementen - het id waar we de pagina in willen laden (of array)
// laadbericht - tijdelijke inhoud v/d elementen
function ajaxObj(methode, url, elementen, laadbericht){
this.obj = new Object();
this.methode = methode;
this.url = url;
this.laadnaar = elementen;
if(laadbericht){
if(typeof(this.laadnaar) != 'object'){
document.getElementById(this.laadnaar).innerHTML = laadbericht;
} else{
for(i in this.laadnaar){
document.getElementById(this.laadnaar).innerHTML = laadbericht;
}
}
}
this.obj = null;
this.maak();
this.verwerk();
this.stuur();
}
ajaxObj.prototype.maak = function(){
try{
xmlHttp = new XMLHttpRequest();
} catch(e){
try{
xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
} catch(e){
try{
xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
} catch(e){
return false;
}
}
}
this.obj = xmlHttp;
}
ajaxObj.prototype.verwerk = function(){
var o = this.obj;
var naar = this.laadnaar;
o.onreadystatechange = function(){
if(o.readyState == 4){
if(o.responseText == 'bestaatniet'){
alert('De pagina die u probeerde te laden bestaat niet.');
} else if(o.responseText == 'geentoegang'){
alert('U heeft geen toegang tot de pagina die u probeerde te laden.');
} else{
if(typeof(naar) != 'object'){
document.getElementById(naar).innerHTML = o.responseText;
} else{
for(i in naar){
document.getElementById(naar).innerHTML = o.responseText;
}
}
}
}
}
}
ajaxObj.prototype.stuur = function(){
if(this.methode == 'get'){
this.obj.open('get', this.url, true);
this.obj.send(null);
} else{
this.obj.open(this.methode, this.url, true);
http.setRequestHeader('Content-type', 'application/x-www-form-urlencoded');
http.setRequestHeader('Content-length', this.methode.length);
http.setRequestHeader('Connection', 'close');
this.obj.send(this.methode);
}
}[/js]
Het probleem wat ik ondervind is dat ik een pagina laad (new ajaxObj('get', 'blabla.php', 'main')

Mvg,
Timothy de Vries
Laatst bewerkt door een moderator: