我有一个普遍的问题,如果一个asp.net webmethod总是以'json'的形式返回数据。如果不是webmethod的默认返回数据类型是什么?asp.net webmethod是否总是返回jsonified数据?
我想知道是否有方法可以从'HTML'而不是'json'的webmethod获取数据?
感谢
我有一个普遍的问题,如果一个asp.net webmethod总是以'json'的形式返回数据。如果不是webmethod的默认返回数据类型是什么?asp.net webmethod是否总是返回jsonified数据?
我想知道是否有方法可以从'HTML'而不是'json'的webmethod获取数据?
感谢
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服务像样的文章。
的返回类型默认WebService应SOAP(XML格式),为WCF有一个REST电池,它可改变其返回类型为JSON
[http://msdn.microsoft.com/en-us/netframework/cc950529.aspx][1]
希望这有助于。
Thanks.actually我没有使用webservices.but但我在我的asp.net代码隐藏页面上写了一个webmethod,我总是看到json中的响应。请你解释为什么?以及如何获得'HTML'而不是'json'? – kranthi 2010-07-19 12:14:01
你可以一个代码示例?例如我有以下方法[WebMethod] public static string sayHello() { {0}回到顶端|提供反馈更多信息返回“hello”;您可能希望在页面指令 – Iain 2010-07-19 17:50:09
上添加内容类型。 }我使用scriptmanager和PageMethods.sayHello组合来调用这个方法,并且在firebug中我看到响应为{“d”:“hello”}。我也尝试将page指令设置为'text/html'并仍然得到了相同的JSON响应。 – kranthi 2010-07-19 21:05:24
对不起,延迟回复,并非常感谢你向我推荐这篇文章。根据我的理解,页面方法将给出一个XML或JSON响应,而不是其他任何东西。请纠正我,如果我错了? – kranthi 2010-07-30 08:07:13
您的正确。我在内部使用时总是使用JSON,因为大部分时间我都会在jQuery/ajax中使用Web服务。在创建外部API/Web服务时,我唯一使用XML的方式是除了JSON。 – RPM1984 2010-07-30 08:44:49