больше Но jQuery справится с этим как-нибудь. Верный? И, учитывая сценарий, я могу использовать GET вообще? Я думаю, что JSON-кодированные параметры требуют POST.
ько что провел шесть часов, пытаясь разобраться в этом, и у меня ничего не получилось.
На моем локальном компьютере есть веб-сервис HelloWorld .NET 3.5.Установите как требуется.
Служба возвращаетList
пользовательских конструкций.
Я пытаюсь использовать его с JQuery 1.4.4.
Когда я пытаюсь сделать то, чтодокументация говорит, я всегда получаю ответ XML от службы, который либо вызываетparseerror
в JQuery или передается как немая строкаsuccess
функция.То есть как бы я ни совмещалdataType
а такжеaccepts
(которые, согласно документации, контролируют, какполучил данные обрабатываются), я получаю XML обратно.
Но когда я делаю что-то, что логически не следует из документации, я успешно получаю свой массив объектов.То есть когда я игнорируюdataType
а такжеaccepts
и установитьcontentType: "application/json; charset=utf-8"
вместо этого он работает нормально. НоcontentType
, в соответствии с документами, контролировать данныепослан на сервер, не получил.
$.ajax(
{
type: "GET",
url: "http://localhost:52624/Service1.asmx/HelloWorld",
dataType: "json",
//accepts can be anything, or it can be missing, doesn't matter, only depends on dataType
success: function(data, textStatus, jqXHR) {...},
error: function(jqXHR, textStatus, errorThrown) {...}
}
)
Результат: обработчик ошибки вызван, textStatus =parseerror
.
$.ajax(
{
type: "GET",
url: "http://localhost:52624/Service1.asmx/HelloWorld",
dataType: "application/json",
//accepts can be anything, or it can be missing, doesn't matter, only depends on dataType
success: function(data, textStatus, jqXHR) {...},
error: function(jqXHR, textStatus, errorThrown) {...}
}
)
Результат: веб-сервис возвращает XML, он передается обработчику успеха какstring
.
$.ajax(
{
type: "GET",
url: "http://localhost:52624/Service1.asmx/HelloWorld",
accepts: "json", // or "application/json"
success: function(data, textStatus, jqXHR) {...},
error: function(jqXHR, textStatus, errorThrown) {...}
}
)
Результат: веб-сервис возвращает XML, он анализируется и передается какIXMLDOMDocument2
.
$.ajax(
{
type: "GET",
url: "http://localhost:52624/Service1.asmx/HelloWorld",
contentType: "application/json; charset=utf-8",
success: function(data, textStatus, jqXHR) {...},
error: function(jqXHR, textStatus, errorThrown) {...}
}
)
Результат: веб-сервис возвращает JSON, который частично анализируется jQuery (числа и строки анализируются в свойствах объектов, но даты остаются в форме"/Date(1303003305724)/"
).