【发布时间】:2011-03-17 21:08:00
【问题描述】:
我有一个普遍的问题,如果 asp.net webmethod 总是以“json”形式返回数据。如果不是,webmethod 的默认返回数据类型是什么?
我想知道是否有一种方法可以从“HTML”而不是“json”中的网络方法获取数据?
谢谢
【问题讨论】:
我有一个普遍的问题,如果 asp.net webmethod 总是以“json”形式返回数据。如果不是,webmethod 的默认返回数据类型是什么?
我想知道是否有一种方法可以从“HTML”而不是“json”中的网络方法获取数据?
谢谢
【问题讨论】:
PageMethods 是 ASP.NET AJAX 框架 (ScriptManager) 的一部分。
默认情况下,ASP.NET AJAX 使用 JSON 而不是 SOAP。
这是设计使然,主要是因为它优化了 ASP.NET AJAX Javascript 库以处理 JSON 对象。
您可以通过在 web 方法上指定 [ResponseFormat] 属性来覆盖此默认值。
像这样:
[WebMethod]
[ScriptMethod(ResponseFormat = ResponseFormat.Xml)]
public XmlElement GetFoo(string url)
{
Here 是一篇关于 PageMethods 和支持 ASP.NET AJAX 的 Web 服务的不错的文章。
【讨论】:
默认 web 服务的返回类型应该是 SOAP(一种 XML 格式),对于 WCF,有一个 REST 包可以将其返回类型更改为 JSON
[http://msdn.microsoft.com/en-us/netframework/cc950529.aspx][1]
希望这会有所帮助。
【讨论】: