Door
Johhny Westra
op 05-06-2014 16:24
gewijzigd op 05-06-2014 16:25
2.050 views
Hallo allemaal,
Ik wil graag een PHP functie aanroepen vanuit een JavaScript file maar dit gaat niet helemaal goed. Mijn code ziet er als volgt uit. Ik begrijp dat de er geen logica op dit moment in de code zit maar dat komt omdat ik nog niet klaar ben met de functies en omdat ik liever geen gevoelige info wil vrijgeven.
Kan iemand mij helpen? Hij komt nu telkens in de catch en alert "AJAX FOUT".
File: functies.js
function checkIfAllowedKostenplaats(){
try{
var afdeling = document.getElementById('afdeling').value;
getHoofdAfdeling(afdeling);
return true;
} catch (err){
alert(err);
return false;
}
}
Een ajax request naar een server is net als een pagina request. Het wordt afgehandeld door een webserver. Als jij dus een pad opgeeft en geen url, dan gaat het nooit werken, omdat je webserver er niet tussen zit.
Dit kan dus simpelweg niet:
Daarnaast moet je je ook bedenken dat AJAX asynchroon is. De rest van je javascript code wordt dus gewoon uitgevoerd terwijl de server je request behandelt. En daarmee doel ik hierop:
var afdeling = document.getElementById('afdeling').value;
getHoofdAfdeling(afdeling);
return true;
Die return zal al worden gegeven voor je request door de server is afgehandeld.
function checkIfAllowedKostenplaats(){
try{
var afdeling = document.getElementById('afdeling').value;
alert(getHoofdAfdeling(afdeling));
return true;
} catch (err){
alert(err);
return false;
}
}
Php file is hetzelfde gebleven. Helaas catched hij hem nog steeds bij het uitvoeren van het AJAX script dus wordt er "AJAX FOUT" weergegeven. Nog andere suggesties?
Wanneer ik de URL direct aanroep in de browser krijg ik een 404.. Zelfs wanneer ik via de browser map voor map er naar toe navigeer.. Kan het iets te maken hebben met dat het een .inc file is?
[size=xsmall]Toevoeging op 06/06/2014 09:44:44:[/size]
Heb de catch aangepast zodat we wat nuttige info terug krijgen over wat er fout gaat. Ik print de Error uit met de console van mijn browser en die geeft het volgende terug:
[object Error]{
description: "$ is niet gedefinieerd",
message: "$ is niet gedefinieerd",
name: "TypeError",
number: -2146823279}