Я экспериментировал с jquery ajax и обнаружил следующие вещи:
Если у меня есть веб-метод, на странице 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, со свойствами, которые соответствуют моему поисковому объекту и с именем поиска .netуспешно десериализует эту строку JSON в поисковый объект.
- Когда я возвращаю список, он также сериализует его в виде строки JSON.
Мой вопрос: как / почему это происходит?Я знаю, что в моем вызове ajax я устанавливаю dataType в json, но как .net понимает это без какого-либо украшения метода или другой конфигурации, чтобы сообщить ему формат.
Как / почему список возвращаемых данных сериализуется в строку JSON без какого-либо намека на это?