Это, вероятно, старые новости на данный момент, но магия выглядит так:
- Атрибут [ScriptService] в классе веб-службы
- [ScriptMethod (UseHttpGet = true, ResponseFormat = ResponseFormat.Json)] для метода
- Тип контента: application / json в запросе
С этими частями GET-запрос выполняется успешно.
Для HTTP POST
- [ScriptMethod (UseHttpGet = false, ResponseFormat = ResponseFormat.Json)] для метода
и на стороне клиента (при условии, что ваш веб-метод называется MethodName и он принимает единственный параметр с именем searchString):
$.ajax({
url: "MyWebService.asmx/MethodName",
type: "POST",
contentType: "application/json",
data: JSON.stringify({ searchString: q }),
success: function (response) {
},
error: function (jqXHR, textStatus, errorThrown) {
alert(textStatus + ": " + jqXHR.responseText);
}
});