Je ne sais pas où j'ai eu l'idée avant, mais il y a un an, j'ai écrit cela en php:code de service côté Référence du <script> tag
<script type="text/javascript" src="http://www.mydomain.com/getmarkers.php"></script>
Maintenant, je suis prêt à convertir ce site à un Site Web ASP.NET MVC et je me demande quel est le meilleur moyen de convertir cela en quelque chose de plus «normal».
Les options que je pouvais penser où:
- personnalisés HttpHandler pour les fichiers .js
- continuer à utiliser la balise de script, mais avec un itinéraire personnalisé pour une action
- Modifier le javascript pour charger le Serverside données utilisant un appel ajax
Ce que fait actuellement getmarkers.php est de générer du javascript pour ajouter des marqueurs à une carte google. L'avantage de référencement le php dans la balise de script est que
- Il n'a jamais mis en mémoire cache, les marqueurs sont toujours à jour (je sais qu'il existe des alternatives)
- Il garde mon html clair de tout javascript
- Très facile à ajouter/supprimer certains champs pour les marqueurs générés
Un exemple de ce qui est généré:
infoWindows[0] = new google.maps.InfoWindow({
content: '<div style="width:250px;color:#000;">...html content for this specific marker...</div>'
});
google.maps.event.addListener(markers[0], 'click', function() {
infoWindows[0].open(map, markers[0]);
});
Quels changements est l'indice (0 dans cet exemple) et le contenu du code HTML.
Question
1. Quelle solution pensez-vous convient le mieux
2. Est-il mauvais pour référencer un script en appelant un Serverside 'fichier'.
+1 nettoyant pour la pointe « il est clair qu'il est un fichier généré, laissant le.js extension vers des ressources statiques "Ma préférence est penchée vers une approche json aussi en utilisant ajax pour obtenir le json.Il faudrait juste plus de temps pour la carte pour générer que le contenu sera chargé après que le corps est chargé, maintenant il charge avant. – Peter
@Peter vrai, c'est un bon point.Il y aura forcément un scintillement notable lors de l'utilisation Ajax –