aspme页面中的Web方法接收并返回JSON字符串,怎么样?

时间:2011-05-04 17:53:39

标签: .net json jquery webmethod

我一直在尝试使用jquery ajax并发现了以下内容:

如果我有一个webme方法,在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)
  1. 如果我通过jquery ajax将数据发送到方法,则javascript传递在javascript中创建的对象,其属性与我的搜索对象匹配,并且搜索名称.net成功地将该JSON字符串反序列化为搜索对象。
  2. 当我返回列表时,它还将其序列化为JSON字符串。
  3. 我的问题是如何/为什么会发生这种情况?我知道在我的ajax调用中我将dataType设置为json,但.net如何理解这一点,而不需要对方法或其他配置进行任何修改以让它知道格式。

    如何/为什么返回列表序列化为JSON字符串而没有任何提示?

1 个答案:

答案 0 :(得分:0)

我只是在这里猜测,但我认为它正在从http标题中提取请求类型。