数据是如何在MVC和浏览器之间来回传递的?它使用的是微软自己的技术,如ASMX或WCF,还是完全不同的技术?
这听起来像是MVC在使用他们正在使用的ASMX Web服务,但我似乎找不到任何文档来给出真正的答案。
发布于 2008-11-17 03:23:43
来自MVC应用程序<->浏览器的数据只是纯ole HTTP请求/响应数据。要查看这些原始数据是什么,请在您的PC上安装Firebug或Fiddler,并使用它们向您显示原始输入和输出数据。这一切都很简单。
WebForms使用相同的请求/响应模型。浏览器将一些信息传递给the服务器(即,请求..。就像..。我想看到http://www.mysite.com/foo),web服务器回复一些html,json,xml,二进制数据(用于图像),等等……这就是回应。
所有浏览器都使用此请求/响应模型与所有网站通信。
现在..。MVC和WebForms的不同之处在于with服务器如何处理请求以及如何生成响应。所以它们都遵循相同的概念,只是处理方式不同而已。例如,MVC使用控制器来确定要向用户显示什么,而WebForms有一个“页面”来确定要显示的数据(针对该页面)。
所以--本质上--你在你的网站上写道:
发布于 2008-11-17 03:01:16
AJAX请求在页面中使用普通的HTTP请求/响应执行。也就是说,在javascript中,客户端将创建一个AJAX请求对象,将其发送到一个URL,然后它将返回一个字符串。如果字符串是json,则可以对其求值并将其变为活动javascript对象。
MVC的原理是所有的http请求都要经过控制器。WCF仅适用于客户端不使用html-json-css等的其他类型的web服务。
您可以在System.Web.Mvc.Controller上使用JSON (对象模型)方法从控制器操作返回Json。
例如
ActionResult MyAction() {
return Json(new { success=false, for_lunch="mmm, chicken"});
}
这将返回您的网页可以使用的json。所以,剩下的问题就是浏览器如何调用json的MyAction?
有几篇关于这个主题的文章,我能找到的第一个这样做的是this post。
希望这能有所帮助
https://stackoverflow.com/questions/294700
复制相似问题