2008-11-17 5 views

Répondre

1

Les requêtes AJAX sont effectuées dans la page en utilisant une requête/réponse HTTP normale. Autrement dit, en JavaScript, le client crée un objet de requête AJAX, l'envoie à une URL et il récupère une chaîne. Si cette chaîne est json, elle peut être évaluée et devenir un objet javascript en direct.

La philosophie de MVC est que toutes les demandes http passent par les contrôleurs. WCF est seulement pour d'autres types de services Web où le client ne consomme pas html-json-css-etc.

Vous pouvez renvoyer JSON à partir d'une action du contrôleur à l'aide de la méthode Json (modèle objet) sur System.Web.Mvc.Controller.

par exemple

ActionResult MyAction() { 
    return Json(new { success=false, for_lunch="mmm, chicken"}); 
} 

qui renverra JSON votre page Web peut consommer. Donc, cela laisse la question - comment le navigateur appelle le MyAction pour le json?

Plusieurs articles existent sur ce sujet, et le premier que j'ai pu trouver était this post.

espoir qui aide

2

Les données de l'application MVC < -> navigateur est juste requête HTTP simple ole données/réponse. Pour voir quelles sont ces données brutes, installez Firebug ou Fiddler sur votre PC et utilisez-les pour afficher les données brutes entrantes et sortantes. Tout est assez simple. WebForms utilise ce même modèle de requête/réponse. le navigateur passe quelques informations au serveur web (c'est-à-dire la demande ... comme ... je veux voir http://www.mysite.com/foo) et le serveur web répond avec quelques données html, json, xml, binaires (pour les images), etc ... est la réponse.

Tous les navigateurs parlent à tous les sites utilisant cette Request/Response model.

Maintenant ... la différence avec MVC et WebForms est COMMENT le serveur web gère la requête et comment elle génère la réponse. Donc, ils suivent tous les deux le même concept, il suffit de le gérer différemment. Par exemple, MVC utilise des contrôleurs pour déterminer ce qu'il doit montrer à l'utilisateur, tandis que WebForms a des «pages» qui déterminent les données (pour cette page) à afficher.

donc - en substance - vous programmer votre site pour dire:

  • Si un utilisateur va ici, puis montrent eux ces données.
Questions connexes