<p>How does the data go from the MVC to the browser and back again?   Does it use Microsoft's own technology like ASMX or WCF or something completely different?  </p>

<p>This sounds like MVC is using a ASMX Web Service they are using but I can't seem to find any documentation which gives the real answer.  </p>

AJAX requests are performed in the page using normal HTTP request/response. That is, in javascript the client will create a AJAX request object, send it off to a URL and it gets back a string. If that string is json, it can be eval'd and become a live javascript object.
The philosophy of MVC is that
all
http requests go through controllers. WCF is only for other types of web services that where the client doesn't consume html-json-css-etc.
You can return JSON from a controller action using the Json(object model) method on System.Web.Mvc.Controller.
for example
```
```
ActionResult MyAction() {
    return Json(new { success=false, for_lunch="mmm, chicken"});
}
```
```
That will return the json your webpage can consume.
So, that leaves the question - how does the browser call the MyAction for the json?
Several posts exist on this topic, and the first one i could find that did this was
this post
.
Hope that helps