2011-05-04 20 views
1

我一直在尝试使用jQuery AJAX,发现了以下几件事:aspx页面中的Webmethod接收并返回JSON字符串,怎么样?

如果我有一个WebMethod,在一个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和符合我的搜索对象的属性创建对象和搜索.net的名称将该JSON字符串成功反序列化为搜索对象。
  2. 当我返回列表时,它还将其作为JSON字符串序列化。

我的问题是如何/为什么会发生这种情况?我知道在我的ajax调用中,我将dataType设置为json,但.net如何理解这一点,而不需要对方法或其他配置进行任何修饰以让它知道格式。

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

回答

0

我只是猜测在这里,但我会假设它从http头中拉取请求类型。

+0

是的,我认为这一定是它。 – Gratzy 2011-05-11 12:32:42

相关问题