Bonjour,
Je suis a la recherche d'aide pour une API Ajax/PHP CURL pour l'un de mes projets.
en voici l'idée ;
Moi et les fondateur de mon équipe nous avons des serveurs de jeux et j'aimerais pouvoir via un panneau d'administration avoir tous les infos des serveurs ( ce qui est deja le cas) mais se que j'aimerais ses que tous les 10 a 20 seconde mon api se refresh seul sans avoir a rafraichir la page entiere.
présentement se qui est en fonction ses :
Stats CPU
Stats HDD
Stats Memoire
Stats online/offline
nombre de joueur connecté
Informations complete du serveur de jeux
Mon but est de pouvoir rafraichir une div ou la fonction CURL de php pour que les information CPU HDD et Memoire ainsi que la liste des joueurs sans que nous avons besoins de rafraichir la page entiere se qui est pour vous dire tres detestable.
Quelle serais le mieux a faire pour que mon petit probleme soit régler ?
Faire un script Ajax.js et que sur la div en question je lui indique l'url du script PHP via un data-?? de jquery et lancer la focntion Ajax tous les 10 secondes?
Nous avons un serveur WEb dedier au panneaux administration ainsi que pour notre siteweb de notre Commu.
Tous les fichier api.php son situer sue chaque serveur que nous ajountons et j'appelle avec CURL ce dedi fichier pour récuperer les informations que je desir.
Merci a vous :)
J'ai enfin trouver commen faire Merci de ton aide je post le code pour ceux qui aimerais faire la meme choses que moi :)
function cpu(){
$.ajax({
type : 'GET', // envoi des données en GET ou POST
data : 'text',
dataType : 'JSON',
url : $('#cpu').data('url') , // url du fichier de traitement
success : function(data){
$('#cpu').html('<p>'+data['cpu']['percent']+'</p>');
console.log(data);
},
error : function(){
$('#cpu').html('<p>Erreur chargement CPU</p>');
console.log('Error CPU');
}
});
}setInterval(cpu, 2000);
Je crois avoir trouver se qui serais bien pour se que je veux faire !
<div id="cpu" onload="mw.cpu" data-url="play.monjeux.mondomaine.com/api.php"><!-- ICI ma progress-bar du CPU --></div>
<script type="text/javascript">
function mw.cpu() {
$.ajax({ url : $('#cpu').data('url') , // url du fichier api
success : function(data){
$('#cpu').html(data['cpu_percent']);
}error : function(){
console.log('Error CPU');
} });
} setInterval(mw.cpu, 10000);
</script>
En gros se que j'ai fait ci-dessu je crois que sa pourrais etre la meilleur facon de faire.
Je vais simplement devoir me créer un fichier mw.ajax.js et inclure ce dedi fichier sur ma vue de ma page show/id_server
Je teste ceci et je revien vers vous apres pour vous dire mon résultat!
Merci encore a vous :)
Bonjour apres avoir fait plusieur teste j'e n'arrive toujours pas a faire ce que je voulais au départ .. dison que moi et javascript et ses dériver nous avons qu'elle que petit probleme de compréhantion xD Pourriez vous eclairer mon chemin vers mon idée svp ?
si une personne charitable serais ou se situ mon erreur pouvoir me la dire :)
Merci
Bonsoir,
Vous bloquez sur qu'elle point ?
Vous recevez les données après la requête ajax ?
Le script ci dessu est une idee que jai eu et j'ai tester mais sa ne fonctionne pas je recois pas de resultat venant de ma requete ajax
Je ne suis pas un spécialiste en js.
$.ajax({
type : 'GET', // envoi des données en GET ou POST
url : $('#cpu').data('url') , // url du fichier de traitement
success : function(data){
$('#cpu').html(data['cpu_percent']);
},
error : function(){
console.log('Error CPU');
}
});
Voila ce que j'aurais fais car il manquais une , avant error
A tester
Haaa Cool Merci Je crois que sa vas fonctionner !
il faut que j'ajoute un header sur mon script php de mon api sinon Ajax me retourne maintenant un errur enfin :D merci xD
Mon script ajax fonctionne maintenant mais il me donne une variable undefine en retour mais si je lance mon URL de mon api jai bien la valeur cpu_percent qui est retourner de mon API .. un Json_decode serait-il obligtoire en ajax ?
Ouaiis mais il est beaucoup trop gros pour le copier ici par contre voici le bout de code qui retourne mes data ;
$datas = [
'proco' => ApiController::cpu(),
'memory' => ApiController::memory(),
'load' => ApiController::loadaverage(),
'uptime' => ApiController::uptime(),
'server' => ApiController::ping('ADDR-IP','PORT-GAME'),
'hdd' => ApiController::disk()[0],
];
echo json_encode($datas);
jai regarder pour un parsJson en ajax il me retourne un erreur => Uncaught SyntaxError: Unexpected token o
Si vous faites juste un echo de datas.
Puis dans la requête ajax :
console.debug(data);
$('#cpu').html(data['cpu_percent']);
Qu'est ce qui est afficher dans la console ?
si je fait que echo $datas sa me retourne aucune information alors jai laisser mon json_encode je vais faire des recherche pour faire un json_decode en jQuery ses ma seul options qui me reste