Posso retornar JSON de um serviço da Web .asmx se o ContentType não for JSON?

Gostaria de postar um formulário usando ajax e jquery em um serviço da web .asmx e retornar o valor do serviço da web como JSON.

Estou usando o ASP.NET 4.0. Eu sei que, para retornar o JSON de um serviço da web, é necessário definir (1) dataType: "json" (2) contentType: "application / json; charset = utf-8", (3) tipo: "POST" (4) defina os dados para algo. Eu testei isso e funciona bem (ou seja, meu serviço da web retorna os dados como JSON)se todos ** quatro estão prontos**.

Mas, digamos que, no meu caso, eu quero fazer um post de formulário padrão, ou seja, test1 = value1 & test2 = value2, de modo que o contentType não seja JSON, mas quero voltar JSON {test1: value1}. Isso não parece funcionar porque o contentType é "application / x-www-form-urlencoded" não "application / json; charset = utf-8"

Alguém pode me dizer por que não posso fazer isso? Parece uma loucura para mim que você precise enviar JSON explicitamente para recuperar o JSON, mas se você não usar o JSON (ou seja, tipo de conteúdo pós-codificado por URL), o serviço da Web retornará XML.

Todas as idéias são muito apreciadas :)

questionAnswers(3)

yourAnswerToTheQuestion