11548 sujets

JavaScript, DOM et API Web HTML5

Bonjour la communauté,

Il me semble avoir lu (mais je ne retrouve pas) qu'on peut choisir de ne télécharger qu'une partie d'un fichier avec ajax.

Par exemple, dans le fichier .html distant que je veux inclure avec ajax, je ne veux télécharger que les éléments avec un id #telechargemoi et pas ceux #jeresteici

J'avais rêvé ou c'est possible ?
Florian_R a écrit :
Hello.
Regarde du côté de load (la partie Loading Page Fragments).


Florian, merci !!! c'est exactement ça, je savais bien que je n'avais pas rêvé Smiley biggrin Smiley biggrin
Précision: load charge le document en entier, le parse et ne charge que le fragment demandé. Si le but est de diminuer le poids du document chargé par la requête, il faut faire ça côté serveur. Tu peux faire une détection d'Ajax via une entête HTTP (voir Detect Ajax sur CSS-tricks), mais ce n'est pas très REST. Je rajouterais plus un paramètre en GET personnellement.
Modifié par Florian_R (08 Nov 2011 - 11:48)
Ha dommage Smiley decu , ça ne m'arrange pas car en effet le but est de diminuer le poids du document chargé par la requête... application mobile oblige.

Je vais suivre ton conseil : passer par un php coté serveur, avec un get... il ne renverra que la partie du dom qui m'intéresse, ça sera nickel je pense.
ok ça roule, mon fichier ajax.php (résumé) :

	$page = $_GET['page'];
        $id = $_GET['id'];

	$doc = new DomDocument;
	$doc->validateOnParse = true;
	$doc->loadHTMLFile($page.'.html');

	echo $doc->getElementById($id)->nodeValue;



et ça ne renvoi que la partie désirée du fichier html Smiley biggrin