2010-10-16 7 views
0

Existe-t-il un cadre sur lequel je peux accéder au DOM lorsqu'un utilisateur renvoie les données au serveur? Il serait utile de changer le contenu de la page en utilisant directement la structure DOM.Analyse DOM dans le serveur

Cela ressemblerait à un javascript côté serveur sur lequel je pourrais écrire document.getElementById.

+1

Désolé, que voulez-vous dire exactement? Je trouve souvent avec ces types de questions, c'est vraiment bien si vous avez ajouté un peu de contexte. c'est-à-dire * Je souhaite masquer une image lorsqu'un utilisateur déclenche une action *. ** Ou **, * Je souhaite interroger les données sur un intervalle régulier *. Je ne sais vraiment pas ce que tu veux? – Marko

Répondre

1

Les éléments DOM définissent la partie frontale. Votre back-end ne devrait vraiment pas se préoccuper de l'état actuel des éléments de l'interface utilisateur sur votre page. Vous pouvez à nouveau rendre la page entière si nécessaire, ou faire en sorte que les requêtes AJAX transmettent JSON/XML, mais vous ne devriez en fait passer que des données, pas des DOM. De cette façon, vous pouvez encapsuler l'interface utilisateur sur le frontal (où il appartient) et libérer le back-end pour vous soucier des autres détails de votre application.

+0

Vous avez raison, mais imaginez un scénario simple. Ne serait-il pas agréable de manipuler certains éléments DOM directement du côté serveur? ASP.NET a quelques fonctionnalités qui vous aident à effectuer cette tâche, mais il n'y a pas une alternative de manipulation DOM complète? – maxxtack

+0

Je suppose, mais vous devrez utiliser JavaScript afin d'extraire les éléments DOM pour la manipulation. Donc, si vous devez écrire du code côté client de toute façon, quel est l'avantage de renvoyer les éléments DOM au serveur pour les traiter au lieu de simplement les manipuler directement dans l'interface utilisateur? –

+0

Facilité d'utilisation et intégration avec la base de données. Au fait, je ne prévois pas l'utiliser, c'est juste une curiosité :). – maxxtack

0

Comme Justin Ethier a expliqué, il est bon et facile de les séparer. En dehors de cela, JavaScript ne sera jamais sur le serveur.

Si vous essayez d'éditer le Dom d'une page du navigateur, il est bon d'utiliser JavaScript Frameworks comme Prototype, mootools, etc. (Il y en a tellement plus, n'hésitez pas à utiliser Google Editer: Vous pouvez combiner les fonctions d'édition Dom avec Ajax.Request pour laisser parler le serveur et le navigateur. Plus d'infos vous trouverez dans la documentation des frameworks disponibles.

+1

"En dehors de cela, JavaScript ne sera jamais sur le côté serveur.;)". Qu'en est-il de node.js et Aptana Jaxer? – maxxtack

+0

Ici, JavaScript utilise AJAX pour parler au serveur. Mais le code source JavaScript est exécuté par le navigateur. – Johnny

+0

Non, nous avons ici le javascript côté client (peu importe s'il utilise ajax) et le javascript côté serveur, mais j'ai compris votre point, merci. – maxxtack