résultat/variable js vers $_server via ajax

Eléphant du PHP | 60 Messages

30 août 2014, 09:14

Bonjour,
j'essaie de passer le résultat d'un javascript dans une variable serveur $_SERVER "silencieusement" via ajax (sur un onLoad si 1er scrpt terminé ?? ).
il y a plein de tutos mais en utilisant jquery or je voudrais éviter jquery (ma library jquery est à la ramasse et le jour ou je la mettrai à jour, je voudrai éviter d'avoir 12000 fichiers à rectifier).
déjà que je suis pas fortiche en php ... la je découvre javascript et dans la foulée ajax, so help please ...
côté client, j'ai récupéré :
[javascript]function createRequestObject()
{
var http;
if(window.XMLHttpRequest)
{ // Mozilla, Safari, ...
http = new XMLHttpRequest();
}
else if(window.ActiveXObject)
{ // Internet Explorer
http = new ActiveXObject("Microsoft.XMLHTTP");
}
return http;[/javascript]
après, pour poster puis récupérer dans une autre page ... c'est un grand mystère et les tutos que j'ai trouvé ne passent pas directement le résultat et "silencieusement". Ils passent par des formulaires, des onclick, parfois un fichier data etc ... rien de simple comme ce que je veux faire
Par avance merci pour votre aide.

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 8758 Messages

30 août 2014, 09:43

Salut,

Est ce que tu arrive une requête simple vers le serveur ?
Genre côté php tu ajoute une ligne dans le log (avec error_log).

A partir de la tu pourras passer ce que tu veux.
Attention quand même si tu souhaite la persistance de l'info utilise $_SESSION et pas serveur (qui est alimentée par php et n'est pas prévue pour les données utilisateurs).

JQuery possède une compatibilité ascendante donc si tu ne devrais pas avoir trop de problème.
Sinon c'est l'occasion de le faire ;)

Après sans plus d'info que cela one peux pas trop t'aider.

@+
Il en faut peu pour être heureux ......

Eléphant du PHP | 60 Messages

30 août 2014, 15:20

Impossible de le faire fonctionner :(
Voilà ce que j'ai fait côté client (index.php)
[javascript]<script type="text/javascript">
var maVarJs='12345';
function createRequestObject()
{
var http;
if(window.XMLHttpRequest)
{ // Mozilla, Safari, ...
http = new XMLHttpRequest();
}
else if(window.ActiveXObject)
{ // Internet Explorer
http = new ActiveXObject("Microsoft.XMLHTTP");
}
return http;
}
function envoiRes()
{
http = createRequestObject();
http.open('post', './get-var.php', true);
http.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
http.onload = function () { console.log(this.responseText); };
http.send("maVarJs="+maVarJs);
alert(maVarJs+" envoyée");
}
envoiRes()
</script>[/javascript]

et côté récupération (get-var.php)
<?php
$fp = fopen('TEST.txt', 'a+');
fwrite($fp, $_GET['maVarJs']."\n");
fclose($fp);
?>
get-var est bien appelé car le \n est bien écrit dans le fichier TEST.txt mais le $_GET['maVarJs'] lui n'est pas écrit .. rien à faire :(