js in ajax request uitvoeren

Status
Niet open voor verdere reacties.

ticom

Gebruiker
Lid geworden
5 sep 2006
Berichten
92
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
 
Laatst bewerkt door een moderator:
nope; Javascript wordt tijdens het laden van je pagina uitgevoerd. Wat een 'ajax' request doet is simpelweg XML data ophalen (en in jou geval dit via innerHTML in je pagina gooien).

Als je de JS wel wilt uitvoeren, zal je moeten gaan klooien met regexp (om scripts te vinden) en de eval() methode.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan