Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > AJAX
AJAX Forum sur la programmation AJAX. Avant de poster : Cours AJAX, FAQ AJAX, Toutes les FAQ JavaScript
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 19/01/2012, 20h55   #1
Invité régulier
 
Homme
Étudiant
Inscription : novembre 2011
Messages : 10
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Étudiant
Secteur : Enseignement

Informations forums :
Inscription : novembre 2011
Messages : 10
Points : 5
Points : 5
Par défaut Exécuter avec JS un code PHP

Bonsoir.

Actuellement je travaille sur un site de radio, et pour faire pratique je dois récupérer le nom de la chanson stocké dans une partie d'une page web.

J'ai un script PHP qui récupère et affiche le nom de cette chanson, malheursement je n'ai pas trouvé de moyen permettant de créer une fonction javascript qui éxécute ce script puis récupère le nom de la chanson et le renvoie en paramètre return de manière régulière(au mieux toutes les secondes au pire toutes les 5 secondes).

J'ai déja essayé de mettre le script php dans un fichier à part puis d'inclure le fichier en JS/AJAX avec HTTPXMLRequest, cependant il semblerait qu'il y ait un cache ce qui fait que le nom de la chanson ne change pas.

Merci d'avance pour vos réponse.
Vince c est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/01/2012, 08h50   #2
Rédacteur/Modérateur
 
Avatar de andry.aime
 
Homme Andry Aimé
Inscription : septembre 2007
Messages : 5 139
Détails du profil
Informations personnelles :
Nom : Homme Andry Aimé
Localisation : Ile Maurice

Informations forums :
Inscription : septembre 2007
Messages : 5 139
Points : 7 276
Points : 7 276
Bonjour,

Si tu es sûre que c'est un problème de cache, regarde la FAQ http://javascript.developpez.com/faq...Ajax#xhr-cache. Une autre astuce c'est t'ajouter une variable timestamp à l'url.
Sinon, il est difficile de t'aider sans voir ton code.

A+.
andry.aime est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/01/2012, 21h07   #3
Invité régulier
 
Homme
Étudiant
Inscription : novembre 2011
Messages : 10
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Étudiant
Secteur : Enseignement

Informations forums :
Inscription : novembre 2011
Messages : 10
Points : 5
Points : 5
En fait je pense au cache car quand j'utilise le HTTPXMLRequest il garde en mémoire la première entrée sans jamais en changé.

Pour les codes j'ai ça.

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
JV : 
function creerobjet(fichier) 
	{ 
		if(window.XMLHttpRequest) // FIREFOX 
			xhr_object = new XMLHttpRequest(); 
		else if(window.ActiveXObject) // IE 
			xhr_object = new ActiveXObject("Microsoft.XMLHTTP"); 
		else 
			return(false); 
		xhr_object.open("GET", fichier, false); 
		xhr_object.send(null); 
		if(xhr_object.readyState == 4) return(xhr_object.responseText); 
		else return(false); 
	} 
 
	function updateSongName()
	{
		document.getElementById('musique').innerHTML=creerobjet('testradio2.0.php');
		setTimeout(updateSongName(),1000);
	}
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
PHP:
<?php
	header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
	header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT");
	header("Cache-Control: no-store, no-cache, must-revalidate");
	header("Cache-Control: post-check=0, pre-check=0", false);
	header("Pragma: no-cache");
 
	$url=file_get_contents('url');
 
	$pos=strpos($url,'Current Song:</td><td class="streamdata">',0);
 
	//for($i=$pos;$i<$pos+41;$i++) echo $url[$i];
	$end=0;
	$i=0;
	while($end===0)
	{
		echo $url[$pos+41+$i];
		if($url[$pos+41+$i+1]==='<')
		{
			$end=1;
		}
		else $i++;
	}
?>
 
<meta http-equiv="refresh" content="1; URL=testradio2.0.php">
Le problème c'est que j'ai un échec au niveau du get(je test actuellement en local), mais cette erreur se retrouve aussi quand j'essaie d'accéder à l'url ou j'ai les infos(pas sur le même serveur).
Vince c est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 02h46.


 
 
 
 
Partenaires

Hébergement Web