【发布时间】:2011-08-18 18:23:10
【问题描述】:
我一直在试验jquery ajax,发现了以下几点:
如果我有一个 web 方法,在一个 aspx 页面而不是一个服务中,看起来像这样:
[System.Web.Services.WebMethod]
public static List<Person> SearchSrf(SearchCriteria search)
{
List<Person> people = new List<Person>();
//add persons to the list etc.
return people ;
}
而 javascript 看起来像这样:
var objSearch = new Object();
object [FirstName] = 'Joe'
//etc
var DTO = { 'search': objSearch };
then in my ajax call I set data: JSON.stringify(DTO)
- 如果我通过 jquery ajax 向方法发送数据,传递在 javascript 中创建的对象,该对象具有与我的搜索对象匹配的属性,并且名称为 search.net 成功地将该 JSON 字符串反序列化为搜索对象。
- 当我返回列表时,它还会将其序列化为 JSON 字符串。
我的问题是如何/为什么会发生这种情况?我知道在我的 ajax 调用中我将 dataType 设置为 json,但是 .net 如何理解这一点而无需对方法或其他配置进行任何修饰以使其知道格式。
返回列表如何/为什么在没有任何提示的情况下序列化为 JSON 字符串?
【问题讨论】:
标签: .net json jquery webmethod