ASP.NET MVC如何与支持AJAX的网页进行通信?

时间:2008-11-17 01:34:43

标签: asp.net-mvc ajax

数据如何从MVC传输到浏览器并再次返回?它是否使用微软自己的技术,如ASMX或WCF或完全不同的东西?

这听起来像MVC正在使用他们正在使用的ASMX Web服务,但我似乎无法找到任何给出真正答案的文档。

2 个答案:

答案 0 :(得分:2)

来自MVC app的数据< - >浏览器只是简单的HTTP请求/响应数据。要查看此原始数据的内容,请在PC上安装FirebugFiddler,然后使用该数据向您显示原始数据和原始数据。这一切都很简单。

WebForms使用相同的请求/响应模型。浏览器将一些信息传递给网络服务器(即请求...就像..我想看{4}}),网络服务器回复一些html,json,xml,二进制数据(图像)等......这是回应。

所有浏览器都使用此请求/响应模型与所有网站通信。

现在..与MVC和WebForms的区别在于Web服务器如何处理请求以及它如何生成响应。所以他们都遵循相同的概念,只是以不同的方式处理它。例如,MVC使用控制器来确定向用户显示的内容,而WebForms有一个“页面”,用于确定要显示的数据(用于该页面)。

所以 - 从本质上讲 - 你为你的网站编程说:

  • 如果用户此处,则显示他们此数据

答案 1 :(得分:1)

使用普通的HTTP请求/响应在页面中执行AJAX请求。也就是说,在javascript中,客户端将创建一个AJAX请求对象,将其发送到URL并返回一个字符串。如果该字符串是json,则可以对其进行评估并成为实时javascript对象。

MVC的理念是所有 http请求都通过控制器。 WCF仅适用于客户端不使用html-json-css-etc的其他类型的Web服务。

您可以使用System.Web.Mvc.Controller上的Json(对象模型)方法从控制器操作返回JSON。

例如

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

这将返回您的网页可以使用的json。 所以,这就留下了一个问题 - 浏览器如何为json调用MyAction?

这个主题有几个帖子,我发现的第一个帖子是this post

希望有所帮助