Page 1 sur 1
Variable JS-Ajax = Variable PHP
Posté : 11 janv. 2007, 11:54
par Maitrepylos
Bonjour,
est-il possible de passer une variable Php, dans une variable Ajax se trouvant dans un fichier externe et ayant l'extension .js
D'avance merci
MaitrePylos
Posté : 11 janv. 2007, 12:17
par jojolapine
tu n'est pas forcément obligé de mettre l'extension .js à ton fichier, tu peux le mettre en .php et l'appeler en passant ta vraiable par l'url, par contre il ne faut pas oublier de préciser avec un header un content-type de type text/javascript (je pense ... ?)
Posté : 11 janv. 2007, 12:26
par Ryle
Sinon, selon le besoin, tu peux aussi définir ta variable avant d'appeller le script js :
<script language="javascript">
var toto = '<?php echo $toto; ?>';
</script>
<script type="text/javascript" src="script.js"></script>
et dans script.js, la variable "toto" sera définie avec la valeur issue de php

Posté : 11 janv. 2007, 12:42
par Maitrepylos
J'avais essayé la solution de jojolapine
<?php
$mot = 'mot';
?>
<script>
function creationRequete()
{
var objRequete;
if(navigator.appName.search("Microsoft") > -1)
{
objRequete = new ActiveXObject("MSXML2.XMLHTTP");
}
else
{
objRequete = new XMLHttpRequest();
}
return objRequete
}
function verifMotMelange()
{
var content = document.formulaire.solutionMots.value;
objRequete = creationRequete();
objRequete.open('get','PhpJs/verifMotMelange.php?mot='<?php echo $mot ?>,true);
objRequete.onreadystatechange = traiteMotMelange;
objRequete.send(null);
}
function traiteMotMelange()
{
if(objRequete.readyState == 4)
{
document.getElementById('idSolutionMots').innerHTML = objRequete.responseText;
}
}
</script>
Mais cela ne fonctionnais pas.
Par contre celle Ryle Nickel
Merci de votre aide à tous les deux

Posté : 11 janv. 2007, 12:47
par jojolapine
et ben oui la mienne ne marche pas si tu ne l'applique qu'a moitiée

Posté : 11 janv. 2007, 12:55
par Ryle
A noter que dans le code que tu donnes tu as une erreur de syntaxe, $mot contient une chaine et doit donc être inclue dans la chaine js :
objRequete.open('get','PhpJs/verifMotMelange.php?mot=<?php echo $mot ?>',true);
// au lieu de
objRequete.open('get','PhpJs/verifMotMelange.php?mot='<?php echo $mot ?>,true);
A noter également que dans un .js (ou un fichier php générant un .js

) il ne faut pas de balise <script></script>
Posté : 11 janv. 2007, 13:01
par Maitrepylos
ok, je fais les test.
merci
Posté : 11 janv. 2007, 13:03
par jojolapine
et surtout qu'il ne faut pas oublier le content-type !!!
