Je passe du domaine de JS à PHP et Ajax. J'en ai parlé avec PHP dans le passé. I vraiment apprécier combien aide stackoverflow a été en m'aidant avec des questions de base.Comment utiliser Ajax pour injecter une fonction PHP spécifique en utilisant une URL, ou une autre méthode?
disons que j'ai un div appelé #divName
. J'utilise le JS suivant pour Ajax. Une partie de ceci est juste du pseudo code.
var request = false;
try {
request = new XMLHttpRequest();
} catch (trymicrosoft) {
try {
request = new ActiveXObject("Msxml2.XMLHTTP");
} catch (othermicrosoft) {
try {
request = new ActiveXObject("Microsoft.XMLHTTP");
} catch (failed) {
request = false;
}
}
}
if (!request)
alert("Error initializing XMLHttpRequest!");
function getAjaxInfo(<name of the php function???>) { //<<<<< this is the function I need help with
var myFunction= nameOfPHPfunctionIJustGot;
var url = "filename.php?func=" + myFunction;
request.open("GET", url, true);
request.onreadystatechange = updatePage;
request.send(null);
}
function updatePage() {
if (request.readyState == 4) {
if (request.status == 200) {
var response = request.responseText;
document.getElementById("divName").innerHTML = response; //probably going to use Jquery append here, but this example works.
} else
alert("status is " + request.status);
}
}
Le j'ai mon fichier filename.php:
<?php
function header() { ?>
header content goes here
<?php }
function footer() { ?>
footer content goes here
<?php }
?>
Mon but est que quand j'exécute getAjaxInfo()
, je peux tirer quelque fonction PHP que je veux.
Disons donc que si je fais un onClick="getAjaxInfo(header)
"il obtiendra la fonction d'en-tête de php, appliquer à une fonction javascript, et ensuite appliquer cela à un div.
Toute aide serait appréciée!
Mais vous voulez probablement utiliser une sorte de whiteliste au lieu de permettre des appels à des fonctions arbitraires (même si vous le limitez aux fonctions sans paramètre) – VolkerK
Grr ... J'étais juste en train d'écrire ce code exact. Ya me battre à ça. :) Aussi, tant que vous avez jquery autour, je vous recommande fortement d'utiliser ses fonctions ajax, plutôt que de rouler les vôtres. – sprugman
ha! Je n'ai même pas pensé à vérifier si jquery avait des fonctions ajax ... drr – Jared